{"id":"CVE-2026-29790","aliases":["GHSA-w75w-9qv4-j5xj","PYSEC-2026-2440"],"url":"https://o3.security/vulnerability/CVE-2026-29790","summary":"dbt-common: commonprefix() doesn't protect against path traversal","details":"dbt-common is the shared common utilities for dbt-core and adapter implementations use. Prior to versions 1.34.2 and 1.37.3, a path traversal vulnerability exists in dbt-common's safe_extract() function used when extracting tarball archives. The function uses os.path.commonprefix() to validate that extracted files remain within the intended destination directory. However, commonprefix() compares paths character-by-character rather than by path components, allowing a malicious tarball to write files to sibling directories with matching name prefixes. This issue has been patched in versions 1.34.2 and 1.37.3.","published":"2026-03-06T20:37:42.354Z","modified":"2026-08-12T03:51:11.771974448Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"dbt-common","fixedVersion":"1.34.2"},{"ecosystem":"PyPI","name":"dbt-common","fixedVersion":"1.37.3"}],"fix":{"url":"https://github.com/dbt-labs/dbt-common/commit/e547954a48bac9394ef6eb98432e429dce9a7709","label":"dbt-labs/dbt-common@e547954"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/29xxx/CVE-2026-29790.json"},{"type":"ADVISORY","url":"https://github.com/dbt-labs/dbt-common/security/advisories/GHSA-w75w-9qv4-j5xj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-29790"},{"type":"FIX","url":"https://github.com/dbt-labs/dbt-common/commit/e547954a48bac9394ef6eb98432e429dce9a7709"},{"type":"FIX","url":"https://github.com/pypa/pip/pull/13777"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:11.771974448Z"}}