dbt-common: commonprefix() doesn't protect against path traversal
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| dbt-labs | dbt-common | before 1.37.3; before 1.34.2 | 1.37.3, 1.34.2 | Patch available | CNA |
| — | dbt-common (PyPI) | before 1.34.2 | 1.34.2 | Patch available | GHSA-w75w-9qv4-j5xj |
| — | dbt-common (PyPI) | 1.35.0 to before 1.37.3 | 1.37.3 | Patch available | GHSA-w75w-9qv4-j5xj |
- dbt-common Vendordbt-labs Affected before 1.37.3; before 1.34.2 Fixed in 1.37.3, 1.34.2 Patch available CNA
- dbt-common (PyPI) Vendor— Affected before 1.34.2 Fixed in 1.34.2 Patch available GHSA-w75w-9qv4-j5xj
- dbt-common (PyPI) Vendor— Affected 1.35.0 to before 1.37.3 Fixed in 1.37.3 Patch available GHSA-w75w-9qv4-j5xj
Remediation
- Fix · CNA dbt-common (dbt-labs) Fixed in 1.37.3, 1.34.2
- Fix · GHSA-w75w-9qv4-j5xj dbt-common (PyPI) Fixed in 1.34.2 Advisory →
- Fix · GHSA-w75w-9qv4-j5xj dbt-common (PyPI) Fixed in 1.37.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-29790
- 2026-10-03 Alias added: GHSA-w75w-9qv4-j5xj
References
Advisory 3
Sources
- CVE-2026-29790 · CVE Program
- CVE-2026-29790 · NVD
- FIRST EPSS
- GHSA-w75w-9qv4-j5xj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences