Skip to main content
← All vulnerabilities
CVE-2026-29790PYSEC-2026-2440GHSA-W75W-9QV4-J5XJ

dbt-common: commonprefix() doesn't protect against path traversal

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.37.3, 1.34.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • dbt-labs dbt-common

    fixed in 1.37.3; fixed in 1.34.2

  • dbt-commonPyPI

    fixed in 1.34.2; From 1.35.0 · fixed in 1.37.3

  • dbt-commonPyPI

    fixed in 1.34.2

  • dbt-commonPyPI

    From 1.35.0 · fixed in 1.37.3

References 3

GitHub · dbt-labs/dbt-common

GitHub · pypa/pip