pnpm
CVE-2025-69263
HIGH
Severity by source
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Network-delivered via package install (AV:N), UI:R for the install action, PR:N as no victim credentials needed, AC:H because attacker must control a package in the victim's tree; full CIA impact via arbitrary code execution.
AV:N/AC:H/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:R/S:U/C:H/I:H/A:H
Lifecycle Timeline
9DescriptionNVD
pnpm is a package manager. Versions 10.26.2 and below store HTTP tarball dependencies (and git-hosted tarballs) in the lockfile without integrity hashes. This allows the remote server to serve different content on each install, even when a lockfile is committed. An attacker who publishes a package with an HTTP tarball dependency can serve different code to different users or CI/CD environments. The attack requires the victim to install a package that has an HTTP/git tarball in its dependency tree. The victim's lockfile provides no protection. This issue is fixed in version 10.26.0.
AnalysisAI
Supply-chain integrity bypass in pnpm package manager (versions ≤10.26.2, per description; GHSA states <10.26.0) allows malicious package authors to serve different tarball content on each install because HTTP/HTTPS tarball and git-hosted tarball dependencies are recorded in the lockfile without integrity hashes. Publicly available exploit code exists in the GHSA-7vhp-vf5g-r2fw advisory PoC, though EPSS remains low at 0.01% and the issue is not on CISA KEV. Any project transitively depending on a package that uses an HTTP/git tarball is exposed, and a committed lockfile offers no protection.
Technical ContextAI
pnpm is a Node.js package manager that, like npm and Yarn, uses a lockfile to pin transitive dependency versions and integrity hashes for reproducible installs (CPE cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:node.js:*). The root cause is CWE-494 (Download of Code Without Integrity Check): the tarball resolver in resolving/tarball-resolver/src/index.ts returns only the resolved URL and omits the integrity field for HTTP(S) tarball URLs, git shorthand (github:user/repo), and git+https URLs. Without an integrity hash, pnpm cannot detect that a remote server has returned different bytes for the same URL on a subsequent install, defeating the core reproducibility guarantee of the lockfile. Packages fetched from the npm registry are unaffected because the registry metadata supplies integrity hashes that pnpm does record.
RemediationAI
Upgrade pnpm to version 10.26.0 or later, which is the upstream fix referenced by GHSA-7vhp-vf5g-r2fw and commit https://github.com/pnpm/pnpm/commit/0958027f88a99ccefe7e9676cdebba393dfbdc85; CI/CD images, developer workstations, and Docker base images that pin pnpm must all be updated. Until upgrade is complete, audit dependency trees for HTTP(S) tarball URLs and git/github: specifiers (e.g., grep package.json and pnpm-lock.yaml for 'http', 'github:', and 'git+') and replace them with npm-registry-published versions or git+ssh references pinned to a commit SHA, accepting the side effect that this may require republishing internal packages or vendoring sources. As a network-layer mitigation, restrict outbound install traffic to a trusted internal registry/proxy so installs cannot reach arbitrary tarball hosts, noting the trade-off that legitimate github: dependencies will break. Avoid simply re-running 'pnpm install' against the same lockfile expecting protection - the lockfile itself is the weak link.
Arbitrary code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets a git-hosted dependency run co
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
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-494 – Download of Code Without Integrity Check
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: HighShare
External POC / Exploit Code
Leaving vuln.today
GHSA-7vhp-vf5g-r2fw