CVE-2026-102925: Pdm · virtualenv bash and fish activation scripts execute commands embedded in paths
Affects pdmSource GCVE Database
Not known to be exploited · CVSS 7.8 High : upgrade to 2.29.2_1 soon.
Data as of 31 Oct 2026, 16:53 UTC
- Patch
- Available – fixed in 2.29.2_1
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 29 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade pdm to 2.29.2_1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewpdmpkg:brew/pdmOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in pdm version 2.29.2_1, which corrects the quoting logic in the activation scripts. Users should upgrade to this version or later. As a workaround, avoid creating or distributing virtual environments with paths containing special shell metacharacters such as ', `, $, ;, (, or ). Additionally, inspect activation scripts before sourcing if they originate from untrusted sources.
Description
The pdm tool's virtual environment activation scripts for bash, zsh, and fish shells contain a quoting flaw that allows shell metacharacters embedded in environment paths to be executed as commands when the activation script is sourced. This occurs due to double quoting of shlex-quoted values, which prematurely terminates the quoted string and leaves shell code unquoted and executable. The issue affects virtual environments relocated or copied to different paths containing special characters. The vulnerability is fixed in pdm version 2.29.2_1.
References
- github.com/pypa/virtualenv/security/advisories/GHSA-p58f-9548-mpm2 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-102925 (opens in a new tab)
- github.com/pypa/virtualenv/pull/3252 (opens in a new tab)
- github.com/pypa/virtualenv/commit/4d5a105ec2a2723b8c7f4571bb68f4f71d01e3f6 (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/virtualenv/PYSEC-2026-4013.yaml (opens in a new tab)
- github.com/pypa/virtualenv (opens in a new tab)
- github.com/pypa/virtualenv/releases/tag/21.7.13 (opens in a new tab)
- pypi.org/project/virtualenv (opens in a new tab)