CVE-2026-34591 Poetry Has Wheel Path Traversal Which Can Lead to Arbitrary File Write
Attackers can write arbitrary files via crafted wheel packages, potentially compromising the system where Poetry is installed.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-34591?
CVE-2026-34591 is a high-severity path traversal vulnerability in python-poetry poetry, published on 2 Apr 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Poetry is a dependency manager for Python. From version 1.4.0 to before version 2.3.3, a crafted wheel can contain ../ paths that Poetry writes to disk without containment checks, allowing arbitrary file write with the privileges of the Poetry process. It is reachable from untrusted package artifacts during normal install flows. (Normally, installing a malicious wheel is not sufficient for execution of malicious code. Malicious code will only be executed after installation if the malicious package is imported or invoked by the user.). This issue has been patched in version 2.3.3.
Weakness: CWE-22
Which versions are affected by CVE-2026-34591?
3 open source packages ship an affected version, including poetry. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
poetry PyPI | From 1.4.0 | 2.3.3 |
poetry PyPI | From 1.4.0 | 2.3.3 |
poetry PyPI | From 1.4.0 | 2.3.3 |
Products include Python-Poetry Poetry.
How do I fix CVE-2026-34591?
Upgrade poetry to 2.3.3 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-34591 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-34591 exists.
Other vulnerabilities in python-poetry poetry
Sources
Also known as AZL-81899, DEBIAN-CVE-2026-34591, GHSA-2599-h6xx-hpxp, MINI-5vc4-rxj2-hq3j, PYSEC-2026-2260, ROOT-APP-PYPI-CVE-2026-34591 and 1 more.