Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker crafts pnpm-lock.yaml with traversal package key
-
DeliveryVictim clones or receives poisoned repository
-
ExploitVictim runs pnpm install
-
Executionpnpm parses unvalidated name via dp.parse
-
Persistpath.join writes package outside node_modules
-
ImpactIf dangerouslyAllowAllBuilds enabled: postinstall executes as victim user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim to run |
| Impact | The CVSS 3.1 score of 7.1 (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L) accurately reflects the core risk profile: high-integrity arbitrary file write requiring only that a victim run |
| Exploit ScenarioDerived | An attacker contributes a crafted |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
Arbitrary file write in pnpm package manager versions before 10.34.5 and 11.0.0-11.11.0 allows an attacker who can supply a crafted pnpm-lock.yaml to escape the node_modules directory boundary and place package contents at attacker-controlled filesystem paths when a developer runs pnpm install. Even --ignore-scripts does not prevent the file-write primitive; when the project additionally enables dangerouslyAllowAllBuilds or a matching allowBuilds configuration entry, the escaped package's lifecycle scripts execute with the victim user's OS-level privileges. Vendor-released patches are available as pnpm 10.34.5 and 11.11.0; no public exploit has been identified at time of analysis.
RemediationAI
Vendor-released patches are available: upgrade to pnpm 10.34.5 (https://github.com/pnpm/pnpm/releases/tag/v10.34.5) or pnpm 11.11.0 (https://github.com/pnpm/pnpm/releases/tag/v11.11.0) immediately. As a compensating control prior to patching, audit any pnpm-lock.yaml files received from external or shared sources for dependency path keys containing ../ or ..\ sequences before running pnpm install; automated pre-install grep hooks on lockfile content can enforce this. Disabling dangerouslyAllowAllBuilds and removing permissive allowBuilds entries will eliminate the code-execution path but does not prevent the underlying file-write primitive, since the PR diff explicitly confirms the traversal write occurs even with --ignore-scripts. Restricting CI pipeline permissions so the build user cannot write to sensitive system directories (e.g., via filesystem namespace isolation or rootless containers) reduces the blast radius of arbitrary file writes but is not a complete fix. The upstream fix is implemented in PRs #12872 (https://github.com/pnpm/pnpm/pull/12872) and #12890 (https://github.com/pnpm/pnpm/pull/12890).
Affected VersionsENISA
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 maintains a content-addressable virtual store and resolves dependencies through a lockfile (pnpm-lock.yaml). The vulnerability exists in deps/graph-builder/src/lockfileToDepGraph.ts (and the pnpm 11 equivalent) where the package name is extracted from lockfile dependency-path keys via dp.parse(depPath).name without any path-traversal sanitization. This unsanitized name flows directly into path.join(modules, pkgName) and storeController.importPackage, as well as the Plug'n'Play resolver at lockfile/to-pnp/src/index.ts. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) precisely describes this root cause: attacker-supplied sequences such as ../../tmp/x or scoped traversals like @x/../../../<path> bypass the intended node_modules containment boundary. The PR diff confirms that the hoisted linker already had analogous protection, but the isolated (virtual-store) linker and the PnP resolver lacked equivalent validation until this fix. The fix adds upfront name validation and a centralized check at formatGlobalVirtualStorePath, the single funnel for all global virtual-store slot paths. Affected CPE: cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:* for versions prior to 10.34.5 on the 10.x branch and 11.0.0-11.10.x on the 11.x branch.
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:N/I:H/A:L
Crafted lockfile delivered via network requires no attacker privileges; victim must actively run install (UI:R); impact is file-write only with no confidentiality exposure.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
pnpm is a package manager. Prior to 10.34.5 and from 11.0.0 until 11.11.0, pnpm parses the package name from attacker-controlled pnpm-lock.yaml packages keys with dp.parse(depPath).name and uses it without validation in deps/graph-builder/src/lockfileToDepGraph.ts and pnpm11/deps/graph-builder/src/lockfileToDepGraph.ts. The name reaches path.join(modules, pkgName), storeController.importPackage, and pnpm11/lockfile/to-pnp/src/index.ts, allowing package contents to be written outside node_modules when a user runs pnpm install. When dangerouslyAllowAllBuilds or a matching allowBuilds entry permits lifecycle scripts, the escaped package can execute code with the user's privileges. This issue is fixed in versions 10.34.5 and 11.11.0.
Technical POC Analysis
CWE-22.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
pnpm, a widely-used package manager, contains a vulnerability in versions before 10.34.5 and 11.11.0 that enables attackers to execute code on developer machines and build servers through compromised project repositories. Organizations using affected versions risk unauthorized code execution in their development environments, potentially compromising code quality, intellectual property, and CI/CD security.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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
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
EUVD-2026-68816
GHSA-c59q-g84q-2gj5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB