Low, CVSS 2.0PyPIAmendedPublished
dbt-common's commonprefix() doesn't protect against path traversal
CVE-2026-29790 · GHSA-w75w-9qv4-j5xj
- Affected
- PyPI dbt-common < 1.34.2; >= 1.35.0, < 1.37.3
- Fixed in
- 1.37.31.34.2· Vendor fix available
- Issue
- Impact What kind of vulnerability is it? Who is impacted? A path traversal vulnerability exists in dbt-common's safeextract() 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. For example, when extracting to /tmp/packages, a crafted tarball could write files to /tmp/packagesevil/ by exploiting the character-based prefix matching. This vulnerability affects users who: - Install dbt packages from untrusted sources - Process tarball archives through dbt-common's extraction utilities The practical risk is limited because: - Exploitation requires a malicious tarball to be processed - File writes are restricted to sibling directories with matching prefixes (not arbitrary paths) -…
Recommended action: Upgrade to 1.37.3 or 1.34.2 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.