CVE-2024-53866
CVE-2024-53866 is a critical-severity vulnerability in Pnpm with a CVSS 3.x base score of 9.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-426.
Key facts
- Severity: Critical (CVSS 3.x base score 9.8)
- CVSS v4: 5.8
- EPSS exploit prediction: 1% (57th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-3510
- Weakness: CWE-426
- Affected product: Pnpm
- Published:
- Last modified:
Description
The package manager pnpm prior to version 9.15.0 seems to mishandle overrides and global cache: Overrides from one workspace leak into npm metadata saved in global cache; npm metadata from global cache affects other workspaces; and installs by default don't revalidate the data (including on first lockfile generation). This can make workspace A (even running with `ignore-scripts=true`) posion global cache and execute scripts in workspace B. Users generally expect `ignore-scripts` to be sufficient to prevent immediate code execution on install (e.g. when the tree is just repacked/bundled without executing it). Here, that expectation is broken. Global state integrity is lost via operations that one would expect to be secure, enabling subsequently running arbitrary code execution on installs. Version 9.15.0 fixes the issue. As a work-around, use separate cache and store dirs in each workspace.
Frequently asked questions
- What is CVE-2024-53866?
- The package manager pnpm prior to version 9.15.0 seems to mishandle overrides and global cache: Overrides from one workspace leak into npm metadata saved in global cache; npm metadata from global cache affects other workspaces; and installs by default don't revalidate the data (including on first lockfile generation). This can make workspace A (even running with `ignore-scripts=true`) posion global cache and execute scripts in workspace B. Users generally expect `ignore-scripts` to be sufficient to prevent immediate code execution on install (e.g. when the tree is just repacked/bundled without executing it). Here, that expectation is broken. Global state integrity is lost via operations that one would expect to be secure, enabling subsequently running arbitrary code execution on installs. Version 9.15.0 fixes the issue. As a work-around, use separate cache and store dirs in each workspace.
- How severe is CVE-2024-53866?
- CVE-2024-53866 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2024-53866 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (57th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-53866?
- CVE-2024-53866 affects Pnpm. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2024-53866?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2024-53866 have an EU (EUVD) identifier?
- Yes. CVE-2024-53866 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-3510.
- When was CVE-2024-53866 published?
- CVE-2024-53866 was published on 2024-12-10 and last updated on 2026-06-22.
References
- https://github.com/pnpm/pnpm/commit/11afcddea48f25ed5117a87dc1780a55222b9743
- https://github.com/pnpm/pnpm/security/advisories/GHSA-vm32-9rqf-rh3r
Affected products (1)
- cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:*
More vulnerabilities in Pnpm
- CVE-2026-55698 — High (CVSS 8.8): pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can persist package-manager bootstrap metadata in the…
- CVE-2026-50016 — High (CVSS 8.8): pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm allows a transitive dependency alias from registry package…
- CVE-2025-69264 — High (CVSS 8.8): pnpm is a package manager. Versions 10.0.0 through 10.25 allow git-hosted dependencies to execute arbitrary code during…
- CVE-2022-26183 — High (CVSS 8.8): PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in…
- CVE-2026-59195 — High (CVSS 8.2): pnpm is a package manager. Prior to 10.34.4 and 11.8.0, pnpm accepts package names from the env lockfile…
- CVE-2026-55697 — High (CVSS 7.5): pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can install configDependencies declared in…
Other CWE-426 (Untrusted Search Path) vulnerabilities
- CVE-2026-45772 — Critical (CVSS 9.8): Turborepo is a high-performance build system for JavaScript and TypeScript codebases. From 1.1.0 to before 2.9.14,…
- CVE-2025-26155 — Critical (CVSS 9.8): NCP Secure Enterprise Client 13.18 and NCP Secure Entry Windows Client 13.19 have an Untrusted Search Path…
- CVE-2024-38462 — Critical (CVSS 9.8): iRODS before 4.3.2 provides an msiSendMail function with a problematic dependency on the mail binary, such as in the…
- CVE-2023-30330 — Critical (CVSS 9.8): SoftExpert (SE) Excellence Suite 2.x versions before 2.1.3 is vulnerable to Local File Inclusion in the function…
- CVE-2022-24826 — Critical (CVSS 9.8): On Windows, if Git LFS operates on a malicious repository with a `..exe` file as well as a file named `git.exe`, and…
- CVE-2022-26184 — Critical (CVSS 9.8): Poetry v1.1.9 and below was discovered to contain an untrusted search path which causes the application to behave in…
Browse all CWE-426 (Untrusted Search Path) vulnerabilities →