CVE-2026-24131: Pnpm@9 · pnpm has Path Traversal via arbitrary file permission modification
Affects pnpm@9Source GCVE Database
Not known to be exploited · CVSS 6.7 Medium.
Data as of 4 Nov 2026, 01:45 UTC
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 13 Aug 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 3 Nov 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewpnpm@9pkg:brew/pnpm%409Other 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 by adding validation to ensure the 'directories.bin' path is a subdirectory of the package root before processing. The vendor's suggested fix is to apply an isSubdir() check on the resolved bin directory path and reject paths outside the package directory. Users should update pnpm to a version that includes this fix once released. Until then, avoid installing untrusted packages that specify a 'directories.bin' field with relative paths that could escape the package directory. No other mitigations are specifically recommended.
Description
pnpm version 9 contains a path traversal vulnerability in handling the 'directories.bin' field of package manifests. This flaw allows a malicious npm package to specify a relative path that escapes the package root directory, causing pnpm to change file permissions (chmod 755) on arbitrary files outside the package directory on Unix-like systems. Windows is not affected. The vulnerability arises because the path is joined without validation to ensure it remains within the package directory.