In short
- CVE-2026-47764 is a HIGH (CVSS 8.4) vulnerability affecting pdm.
- Chance of exploitation in the next 30 days (EPSS): 0.20%, higher than 9.4% of all vulnerabilities.
- Fix: update to 2.27.0 or later.
| Package | Affected versions | Patched versions |
|---|
| pdm PyPI | < 2.27.0
| 2.27.0
|
Description
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. Same class as Poetry CVE-2026-34591. Fix ready at: https://github.com/pdm-project/pdm/pull/3787.
NVD 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.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free