Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
8.9
CVE-2026-47781: PDM: Untrusted Plugins Can Execute Code with User Privileges
CVE-2026-47781 · published 3 months ago
Summary
PDM, a Python package manager, allows untrusted plugins to execute code with user privileges when run from an untrusted repository checkout. This can lead to arbitrary code execution, credential theft, or privilege escalation. To mitigate this, use PDM from trusted repositories or update to a fixed version.
What to do
- Update frost ming pdm to version 2.27.0.
- Update debian pdm to version 2.27.0-1.
Affected software
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| pip | frost ming | pdm |
<= 2.26.9 Fix: upgrade to 2.27.0
|
| PyPI | frost ming | pdm |
< 2.27.0 Fix: upgrade to 2.27.0
|
| – | pdm-project | pdm | < 2.27.0 |
| Debian:12 | debian | pdm | All versions |
| Debian:13 | debian | pdm | All versions |
| Debian:14 | debian | pdm |
< 2.27.0-1 Fix: upgrade to 2.27.0-1
|
| Ubuntu:26.10 | canonical | pdm | All versions |
Original advisory text
pdm: Project-Controlled `.pdm-plugins` Content Executes Before CLI Parsing
PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.
References
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47781... Vendor Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2026-47781 Vendor Advisory
- https://github.com/pdm-project/pdm/releases/tag/2.27.0 URL
- https://github.com/advisories/GHSA-qq6c-99pv-prvf
- https://github.com/pdm-project/pdm Product
- https://security-tracker.debian.org/tracker/CVE-2026-47781 Vendor Advisory
- https://github.com/pdm-project/pdm/security/advisories/GHSA-qq6c-99pv-prvf Vendor Advisory
- https://ubuntu.com/security/CVE-2026-47781 Third Party Advisory
- https://www.cve.org/CVERecord?id=CVE-2026-47781 Third Party Advisory
Internet-facing
3 days
Internal
60 days
- Not known to be exploited
- Can be exploited automatically
- Gives an attacker full control
Severity
8.9
High
Type
CWE-94Code Injection
CWE-829Inclusion of Functionality from Untrusted Control Sphere
Timeline
Published4 Aug 2026
Updated30 Oct 2026
First seen11 Jun 2026
Sources
DEBIAN-CVE-2026-47781 · OSV
GHSA-qq6c-99pv-prvf · GHSA
CVE-2026-47781 · NVD
GHSA-qq6c-99pv-prvf · OSV
CVE-2026-47781 · MITRE
CVE-2026-47781 · OSV
UBUNTU-CVE-2026-47781 · OSV
Track software like this
Free during beta