pnpm
CVE-2025-69264
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker plants malicious prepare script in git repo
-
DeliveryVictim references git dependency
-
Exploitpnpm install fetches and prepares package
-
Executionprepare/prepack runs during fetch phase
-
ImpactArbitrary code executes on developer/CI host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | The project must declare or transitively pull a git-hosted (git URL) dependency that is attacker-controlled, and the victim must run pnpm install with a vulnerable version (10.0.0-10.25). The specific condition is the git-fetch code path: prepare, prepublish, or prepack scripts in the git dependency's package.json run during fetch, bypassing the onlyBuiltDependencies allowlist that otherwise blocks postinstall. Limiting factors: exploitation does not fire against registry (npm-published) dependencies, only git-sourced ones; it requires a malicious dependency to be referenced in the first place (a supply-chain or social-engineering precondition rather than direct remote access); and pnpm 10.26.0+ is not affected. |
| Impact | The signals conflict and should be weighed carefully. NVD assigns CVSS 9.8 (AV:N/AC:L/PR:N/UI:N) with full C/I/A impact, consistent with developer/CI RCE, and a public PoC plus the GitHub Security Advisory confirm the technique is documented and reproducible. However, this is a supply-chain bypass: real exploitation depends on a victim adding or installing an attacker-controlled git-hosted dependency, which in practice is user-initiated - so UI:N likely overstates automaticity and a UI:R assessment (CVSS ~8.8) is more honest. The low EPSS (0.11%, 30th percentile) and absence from CISA KEV indicate no widespread or confirmed active exploitation; this reads as a high-severity, broadly-applicable weakness whose practical exploitation hinges on a poisoned or socially-engineered dependency reference rather than mass internet-facing attack. No SSVC decision data was provided in the input. Net: treat as a high-priority patch for any environment that installs git dependencies with pnpm v10, while recognizing the trigger requires a malicious dependency to enter the dependency tree. |
| Exploit ScenarioDerived | An attacker publishes or compromises a git repository referenced as a pnpm dependency and places a malicious prepare/prepack script in its package.json. When a developer or CI pipeline runs pnpm install (v10.0.0-10.25) against a project that pulls that git dependency, the script executes automatically during the fetch phase - despite v10's lifecycle-script protections - granting code execution in the build environment. A public PoC for the technique exists in the GitHub advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv5 – Jun 30, 2026
Arbitrary code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets a git-hosted dependency run code on a developer or CI machine during pnpm install, bypassing the v10 default protection that disables dependency lifecycle scripts. Although v10 blocks postinstall via the onlyBuiltDependencies allowlist, git dependencies still run prepare, prepublish, and prepack scripts during the fetch phase, giving remote code execution without user approval. Publicly available exploit code exists (GitHub advisory GHSA-379q-355j-w6rj), but EPSS is low (0.11%) and the issue is not listed in CISA KEV; it is fixed in version 10.26.0.
Earlier versions of this analysis (4)
Remote code execution in pnpm 10.0.0 through 10.25 allows git-hosted dependencies to run arbitrary code during pnpm install, defeating the v10 default protection that disables dependency lifecycle scripts. Because the block only covers postinstall scripts via the onlyBuiltDependencies allowlist, an attacker can smuggle code into the prepare, prepublish, or prepack scripts that pnpm still executes during the git fetch phase - with no consent prompt. CVSS is 9.8 and publicly available exploit code exists (GitHub Security Advisory GHSA-379q-355j-w6rj), though EPSS remains low at 0.11%; fixed in 10.26.0.
Remote code execution in the pnpm package manager (versions 10.0.0 through 10.25) allows git-hosted dependencies to run arbitrary code during pnpm install, bypassing the v10 default protection that disables dependency lifecycle scripts. Although pnpm v10 blocks postinstall scripts via the onlyBuiltDependencies allowlist, git dependencies still execute prepare, prepublish, and prepack scripts during the fetch phase, so a malicious git dependency runs code on the developer or CI machine without consent or approval. Publicly available exploit code exists and a vendor patch (10.26.0) is available; EPSS probability is low (0.11%) and the issue is not in CISA KEV.
Remote code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets git-hosted dependencies run arbitrary code during pnpm install, defeating the v10 default protection that disables dependency lifecycle scripts. While pnpm v10 blocks postinstall scripts unless explicitly approved via onlyBuiltDependencies, git-sourced packages still execute prepare, prepublish, and prepack scripts in the fetch phase, so a malicious git dependency achieves code execution with no user consent. Publicly available exploit code exists via the GitHub Security Advisory, though EPSS exploitation probability is low (0.11%, 30th percentile) and the issue is not in CISA KEV.
pnpm is a package manager. Versions 10.0.0 through 10.25 allow git-hosted dependencies to execute arbitrary code during pnpm install, circumventing the v10 security feature "Dependency lifecycle scripts execution disabled by default". [CVSS 8.8 HIGH]
RemediationAI
Vendor-released patch: pnpm 10.26.0 - upgrade pnpm to 10.26.0 or later, which closes the git-fetch-phase script execution path; this is the primary and recommended fix (see GHSA-379q-355j-w6rj and fix commit 73cc63504d9bc360c43e4b2feb9080677f03c5b5). Until you can upgrade, the highest-impact compensating control is to avoid git-hosted dependencies entirely and consume only registry-published, version-pinned packages, since the bypass is specific to the git fetch/prepare path; the trade-off is losing the ability to install packages directly from git. Where git dependencies are unavoidable, pin them to trusted commit SHAs, run pnpm install only inside sandboxed/ephemeral CI containers with no secrets and restricted network egress, and review the prepare/prepublish/prepack scripts in any git dependency's package.json before installing. Red Hat's VEX data (https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-69264.json) can confirm downstream package status.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
pnpm is a Node.js package manager whose v10 line introduced 'lifecycle scripts disabled by default' to mitigate supply-chain attacks: postinstall and similar build scripts only run for packages explicitly listed under onlyBuiltDependencies. This vulnerability is a CWE-693 (Protection Mechanism Failure) - the control is incomplete because it governs the install/build phase but not the git-fetch phase. When a dependency is specified via a git URL, pnpm clones and prepares it, and npm/pnpm semantics run prepare (and prepublish/prepack) scripts as part of producing an installable package from source. Those hooks execute outside the onlyBuiltDependencies gate, so attacker-controlled JavaScript in a git dependency's package.json scripts runs automatically. The affected CPE is cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:node.js:* across the 10.0.0-10.25 range.
Know when Pnpm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Network-delivered malicious git dependency yields full host RCE (C/I/A High), but a victim must initiate install of an attacker-controlled dependency, so UI:R rather than UI:N.
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
9DescriptionNVD
pnpm is a package manager. Versions 10.0.0 through 10.25 allow git-hosted dependencies to execute arbitrary code during pnpm install, circumventing the v10 security feature "Dependency lifecycle scripts execution disabled by default". While pnpm v10 blocks postinstall scripts via the onlyBuiltDependencies mechanism, git dependencies can still execute prepare, prepublish, and prepack scripts during the fetch phase, enabling remote code execution without user consent or approval. This issue is fixed in version 10.26.0.
Blast Radius
ecosystem impact- 2 npm packages depend on pnpm (2 direct, 0 indirect)
Ecosystem-wide dependent count for version 10.0.0.
Executive ViewAI
A critical code execution flaw in pnpm package manager (versions 10.0.0-10.25) allows remote attackers to execute arbitrary code on developer machines and CI/CD infrastructure during routine dependency installation. Organizations using affected versions face direct compromise of their build pipeline and potential injection of malicious code into software releases. Exploit code is publicly available and attacks require only a compromised or attacker-controlled git repository.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Affected Products (CPE)NVD
pnpm is a package manager. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentica
Path traversal in pnpm before 10.34.0 and 11.4.0 lets a malicious registry package smuggle '../' segments inside a trans
Arbitrary code execution in the pnpm package manager (versions prior to 10.34.2 and 11.5.3) lets a malicious repository
Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-chosen nativ
Supply-chain integrity bypass in pnpm package manager (versions ≤10.26.2, per description; GHSA states <10.26.0) allows
PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in unex
Integrity-check bypass in the pnpm package manager (versions before 10.34.0/10.34.1 and 11.0.0-11.3.x) lets tampered pac
Command injection in pnpm versions 6.25.0 through 10.26.2 allows attackers controlling environment variables to execute
Scoped path traversal in pnpm allows arbitrary filesystem overwrites during package installation, defeating the --ignore
Arbitrary file write and deletion in pnpm package manager (versions prior to 10.34.0 and 11.4.0) lets a malicious contri
Arbitrary command execution in pnpm before 10.34.0 and 11.4.0 allows a malicious lockfile to run code on a developer's m
Path traversal in pnpm's `pnpm stage download` command (versions 11.3.0 through 11.5.2) lets a malicious or compromised
GHSA-379q-355j-w6rj
NVD
CVE.org
EPSS
Exploit-DB