PatchSiren cyber security CVE debrief
CVE-2026-47781 pdm-project CVE debrief
CVE-2026-47781 is a high-severity vulnerability in the PDM Python package and dependency manager. Versions up to and including 2.26.9 are affected. An attacker-controlled file in an untrusted repository can execute arbitrary Python code during PDM initialization, allowing for potential code execution with the privileges of the user invoking PDM. The issue is fixed in version 2.27.0.
- Vendor
- pdm-project
- Product
- pdm
- CVSS
- HIGH 8.4
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-04
- Original CVE updated
- 2026-09-08
- Advisory published
- 2026-08-04
- Advisory updated
- 2026-09-08
Who should care
DevOps teams, developers, and security professionals using PDM in CI, automation, or privileged contexts should assess exposure and prioritize upgrading to version 2.27.0 or later.
Why it matters
CVE-2026-47781 is a high-severity vulnerability in PDM that allows for arbitrary Python code execution during initialization. DevOps teams, developers, and security professionals using PDM should assess exposure and prioritize upgrading to version 2.27.0 or later to prevent potential code execution.
- Potential code execution with user privileges
- Strongest impact in CI, automation, and privileged contexts
- Verification of PDM version and usage required
Technical summary
The PDM Python package and dependency manager is vulnerable to arbitrary Python code execution during initialization due to automatic loading of project-local plugins from a .pdm-plugins directory. This allows an attacker-controlled file in an untrusted repository checkout to execute code before any command is parsed, potentially leading to code execution with the privileges of the user invoking PDM. The issue is fixed in version 2.27.0 and affects versions up to and including 2.26.9. The impact is strongest in CI, automation, and privileged contexts, making it critical for DevOps teams, developers, and security professionals to assess exposure and prioritize upgrading to version 2.27.0 or later.
Defensive priority
High
Recommended defensive actions
- Upgrade PDM to version 2.27.0 or later
- Avoid executing PDM in untrusted repository checkouts
- Monitor PDM usage in CI, automation, and privileged contexts
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The vulnerability allows for arbitrary Python code execution during PDM initialization due to automatic loading of project-local plugins from a .pdm-plugins directory. This can occur when a benign command such as 'pdm --version' is executed, making the impact strongest in CI, automation, and privileged contexts.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-47781 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-47781
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-47781 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-47781
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/pdm-project/pdm/releases/tag/2.27.0
-
Source reference
Unverified legacy reference
URL: https://github.com/pdm-project/pdm/security/advisories/GHSA-qq6c-99pv-prvf
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.