CVE-2024-41672 json
DuckDB: sniff_csv provides filesystem access even when enable_external_access is disabled
published 2024-07-24 2 y ago modified 2026-07-25 3 mo ago also EUVD-2024-0052 , GHSA-w2gf-jxc9-pf2q , JLSEC-2026-774 , PYSEC-2024-203
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 57%
- public exploits
- 0
- none known
Summary
DuckDB is a SQL database management system. In versions 1.0.0 and prior, content in filesystem is accessible for reading using `sniff_csv`, even with `enable_external_access=false`. This vulnerability provides an attacker with access to filesystem even when access is expected to be disabled and other similar functions do NOT provide access. There seem to be two vectors to this vulnerability. First, access to files that should otherwise not be allowed. Second, the content from a file can be read (e.g. `/etc/hosts`, `proc/self/environ`, etc) even though that doesn't seem to be the intent of the sniff_csv function. A fix for this issue is available in commit c9b7c98aa0e1cd7363fe8bb8543a95f38e980d8a and is expected to be part of version 1.1.0.
Patch / fix
- pypi duckdb 1.1.0
- julia DuckDB_jll 1.1.0+0
- duckdb duckdb 1.1.0
- github.com/duckdb/duckdb@c9b7c98 commit
- github.com/duckdb/duckdb#13133 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
0.81% chance of exploitation in the next 30 days, higher than 57% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/duckdb/duckdb/security/advisories/GHSA-w2gf-jxc9-pf2q referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | duckdb | >=1.0.0, <1.1.0 <1.1.0 |
1.1.0 |
| julia | DuckDB_jll | <1.1.0+0 |
1.1.0+0 |
Affected products
- duckdb duckdb
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/duckdb/duckdb/pull/13133
web, patch
-
github.com
/duckdb/duckdb/commit/c9b7c98aa0e1cd7363fe8bb8543a95f38e980d8a
web, patch
-
github.com
/duckdb/duckdb/security/advisories/GHSA-w2gf-jxc9-pf2q
web, exploit, third-party-advisory, advisory, evidence
-
nvd.nist.gov
/vuln/detail/CVE-2024-41672
advisory, web
-
github.com
/duckdb/duckdb
package
-
github.com
/pypa/advisory-database/tree/main/vulns/duckdb/PYSEC-2024-203.yaml
web
-
github.com
/advisories/GHSA-w2gf-jxc9-pf2q
web, advisory
Sources
- CVE List CVE-2024-41672
- GitHub Advisory GHSA-w2gf-jxc9-pf2q
- NVD CVE-2024-41672
- OSV JLSEC-2026-774
- OSV PYSEC-2024-203
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.