CVE-2024-41672 DuckDB: sniff_csv provides filesystem access even when enable_external_access is disabled
Attackers can read arbitrary filesystem files via sniff_csv in DuckDB, bypassing external access restrictions.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-41672?
CVE-2024-41672 is a high-severity path traversal vulnerability in duckdb, published on 24 Jul 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-200
Which versions are affected by CVE-2024-41672?
3 open source packages ship an affected version, including duckdb. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
duckdb PyPI | All versions | 1.1.0 |
duckdb PyPI | From 1.0.0 | 1.1.0 |
duckdb PyPI | From 1.0.0 | 1.1.0 |
Products include Duckdb Duckdb.
How do I fix CVE-2024-41672?
Upgrade duckdb to 1.1.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2024-41672 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-41672 exists.
Other vulnerabilities in duckdb
Sources
Also known as GHSA-w2gf-jxc9-pf2q, JLSEC-2026-774, PYSEC-2024-203.