GitHub Advisoryadvisory · PyPI

GHSA-78v8-vpjp-cjqh PDM wheel installation leads to Path Traversal via overridden write_to_fs

HIGH Published 2026-06-10 Modified 2026-06-10 Official page ↗
Aliases
CVE-2026-47764
Ecosystem
PyPI
Packages
pdm
Severity
High
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-22
Reviewed
2026-06-10

Affected packages

• PyPI pdm: < 2.27.0 → fixed in 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.

Related

Alias · CVE (1)

  • CVE-2026-47764 pdm is a Python package and dependency manager supporting the latest PEP standards. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References