Path Traversal in poetry (CVE-2026-41140)
Summary
Path traversal in poetry (CVE-2026-41140). Data can be tampered with by attackers. Exploitable via tarfile.data_filter. Mitigation: upgrade to 2.3.4 or later.
Original description
The description as published by the source.
Summary
The extractall() function in src/poetry/utils/helpers.py:410-426 extracts sdist tarballs without path traversal protection on Python versions where tarfile.data_filter is unavailable. Considering only Python versions which are still supported by Poetry, these are 3.10.0 - 3.10.12 and 3.11.0 - 3.11.4.
Impact
Arbitrary file write (path traversal) from untrusted sdist content.
In practice, the impact is low because an attacker who exploits this vulnerability can as well include arbitrary code in a setup.py, which will be executed when the sdist is built after tar extraction. In other words, a malicious sdist can write arbitrary files by design. However, since it is unexpected and not by design that the file write already happens during tar extraction, this is still considered a vulnerability.
On Python 3.11.2 (Debian Bookworm default, directly tested), a crafted sdist with ../../ tar member paths writes files outside the intended extraction directory. The traversal occurs during metadata resolution (poetry add --lock), before the build backend is run.
Affected Environments:
- Python 3.10.0 through 3.10.12 (inclusive):
tarfile.data_filterabsent or broken - Python 3.11.0 through 3.11.4 (inclusive):
tarfile.data_filterabsent or broken - Debian Bookworm: Python 3.11.2 (default)
- Ubuntu 22.04 LTS: Python 3.10.6 (default)
Patches
Versions 2.3.4 and newer of Poetry ensure that paths are inside the target directory.
##…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-41140 has been found in poetry.
Attackers can target a specific entry point like tarfile.data_filter over the network to misuse the product.
Data can be tampered with by attackers. CVSS score: 8.7/10.
What to do: upgrade poetry to 2.3.4 or later.
If unsure, ask your IT team or search "poetry CVE-2026-41140" on the vendor's site.
CVE-2026-41140 (poetry) — CWE-22 / CVSS v3 8.7
Attack vector: remote (network-reachable)
Attack surface: tarfile.data_filter / setup.py / else / _prepare_sdist
Patched: 2.3.4 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Path traversal (CWE-22) exists in poetry. Attackers reach the vulnerable code path via tarfile.data_filter.
Check the vendor advisory for the affected versions of poetry. Attack surface: tarfile.data_filter / setup.py / else / _prepare_sdist.
Severity: High (CVSS 8.7/10). Data can be tampered with by attackers.
Update to 2.3.4.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'poetry' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'poetry' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
poetryを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade poetry to 2.3.4ステージング環境で 2.3.4 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2026-41140 poetry
- Ubuntu UBUNTU-CVE-2026-41140 poetry
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web access.redhat.com
- web access.redhat.com
- web bugzilla.redhat.com
- web security.access.redhat.com
- web github.com