pnpm
CVE-2025-69264
CRITICAL
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
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
11Blast Radius
ecosystem impact- 2 npm packages depend on pnpm (2 direct, 0 indirect)
Ecosystem-wide dependent count for version 10.0.0.
DescriptionNVD
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.
AnalysisAI
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.
Technical ContextAI
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.
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.
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
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
Path traversal in pnpm's global package management flows allows deletion of the global bin directory or its parent when
Same weakness CWE-693 – Protection Mechanism Failure
View allVendor StatusVendor
SUSE
Severity: HighShare
External POC / Exploit Code
Leaving vuln.today
GHSA-379q-355j-w6rj