CVE-2026-47764 pdm: Path traversal in wheel installation via overridden write_to_fs
A path traversal vulnerability in pdm allows attackers to write arbitrary files via malicious wheels, potentially leading to code execution or data modification.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-47764?
CVE-2026-47764 is a high-severity path traversal vulnerability in pdm-project pdm, published on 4 Aug 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
pdm is a Python package and dependency manager supporting the latest PEP standards. Versions prior to 2.27.0 are vulnerable to path traversal through write_to_fs. InstallDestination.write_to_fs() in src/pdm/installers/installers.py overrides the base class to add symlink/hardlink support but replaces the safe _path_with_destdir() (which validates via Path.resolve() + is_relative_to()) with a bare os.path.join() that performs no path validation. A malicious wheel with traversal entries can write arbitrary files. This issue has been fixed in version 2.27.0.
Weakness: CWE-22
Which versions are affected by CVE-2026-47764?
3 open source packages ship an affected version, including pdm.
| Package | Affected | Fixed in |
|---|---|---|
pdm PyPI | All versions | 2.27.0 |
pdm PyPI | All versions | 2.27.0 |
pdm PyPI | All versions | 2.27.0 |
How do I fix CVE-2026-47764?
Upgrade pdm to 2.27.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-47764 being exploited?
There is no known exploitation of CVE-2026-47764 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2026-47764, GHSA-78v8-vpjp-cjqh, PYSEC-2026-2861, UBUNTU-CVE-2026-47764.