Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPublish repo with poisoned pnpm-lock.yaml
-
DeliveryVictim clones and runs pnpm
-
ExploitAuto version-switch trusts committed metadata
-
ExecutionBypass fresh package-manager resolution
-
PersistInstall attacker-selected bytes
-
ImpactExecute arbitrary code on developer host
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Exploitation requires that the victim run pnpm directly inside an attacker-controlled repository whose committed pnpm-lock.yaml has been crafted to persist package-manager bootstrap metadata (packageManagerDependencies) in its first YAML document, with the committed env lockfile containing matching pnpm and @pnpm/exe versions so that automatic package-manager version switching is triggered and fresh resolution is bypassed. The decisive limiting factor is required user interaction (UI:R): the developer must clone/open the malicious repo and invoke pnpm, so there is no purely remote, hands-off exploitation. Exploitation is further bounded to pnpm versions before 10.34.2 / 11.5.3 and to workflows that use direct pnpm execution with automatic version switching enabled; environments that pin pnpm explicitly and never auto-switch based on the repo lockfile are not exposed to this specific path. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 8.8) indicates a low-complexity, unauthenticated, network-reachable attack whose only significant constraint is required user interaction (UI:R) - a developer must run pnpm inside the malicious repository. This profile is typical and realistic for supply-chain/developer-tooling vulnerabilities where 'opening and building a cloned repo' is routine. No EPSS score, KEV listing, or SSVC decision data was provided, and no POC is referenced, so there is no public exploit identified at time of analysis; this lowers immediate mass-exploitation likelihood but does not reduce the technical severity, since the exploit primitive (committed lockfile state → arbitrary code execution) is conceptually simple and well-suited to targeted attacks via malicious or compromised repositories. The main signal tension to flag: the CVSS network vector plus high triple-impact looks alarming, but exploitation is fundamentally a social/supply-chain delivery problem (victim must clone and run pnpm on attacker-controlled content), so treat this as a high-priority patch for developer and CI environments rather than an internet-facing remote-exploit emergency. |
| Exploit ScenarioDerived | An attacker publishes a tempting open-source repository (or submits a pull request) whose committed pnpm-lock.yaml carries crafted package-manager bootstrap metadata with matching pnpm and @pnpm/exe versions and attacker-chosen package records/snapshots. A developer clones the repo and runs a normal pnpm command, triggering automatic version switching; pnpm trusts the committed lockfile state, skips fresh resolution, and installs and executes the attacker-selected bytes on the developer's machine. No public exploit code is referenced, but the attack requires no authentication and only low complexity once the victim runs pnpm (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 25, 2026
Arbitrary code execution in the pnpm package manager (versions prior to 10.34.2 and 11.5.3) lets a malicious repository hijack pnpm's automatic version-switching mechanism. By committing crafted package-manager bootstrap metadata in the first YAML document of pnpm-lock.yaml - including matching pnpm and @pnpm/exe versions plus package records and snapshots - an attacker bypasses fresh package-manager resolution and causes pnpm to install and execute attacker-selected bytes when a developer runs pnpm in the cloned repo. No public exploit identified at time of analysis; the high CVSS of 8.8 reflects full confidentiality, integrity, and availability impact, gated only by the user running pnpm against the poisoned repository.
RemediationAI
Vendor-released patch: upgrade pnpm to 10.34.2 (10.x line) or 11.5.3 (11.x line) as the primary and complete fix, per GitHub Security Advisory GHSA-w466-c33r-3gjp (https://github.com/pnpm/pnpm/security/advisories/GHSA-w466-c33r-3gjp). Until you can upgrade across developer workstations and CI runners, the most effective compensating control is to avoid running pnpm directly inside untrusted or freshly cloned third-party repositories, and to disable or pin automatic package-manager version switching so pnpm does not bootstrap a version dictated by the committed lockfile (trade-off: you lose convenient per-repo automatic version selection and must manage pnpm versions explicitly). Additionally, review and scrutinize the first YAML document / packageManagerDependencies and env lockfile entries of pnpm-lock.yaml in incoming pull requests and untrusted repos before executing pnpm, and run package installs for untrusted code inside sandboxed or containerized environments to contain any execution (trade-off: added workflow friction). Pin a known-good pnpm version in CI rather than letting repos select it.
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 supports automatic package-manager version switching, where it bootstraps and runs the pnpm/@pnpm/exe version pinned for a project. This bootstrap metadata (packageManagerDependencies) can be persisted in the first YAML document of the lockfile (pnpm-lock.yaml). The flaw is a CWE-345 (Insufficient Verification of Data Authenticity) issue: direct pnpm execution trusted an already-resolved packageManagerDependencies entry whenever the committed env lockfile contained matching pnpm and @pnpm/exe versions, treating committed lockfile package records and snapshots as authoritative instead of performing fresh, trusted package-manager resolution. The affected component is the pnpm CLI itself (CPE cpe:2.3:a:pnpm:pnpm), and the trust boundary crossed is the lockfile committed into a repository - untrusted external data that should never be allowed to dictate which binary pnpm fetches and executes.
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
Malicious repo is network-delivered and unauthenticated (AV:N/PR:N) but the victim must run pnpm (UI:R); resulting arbitrary code execution yields full C:H/I:H/A:H with unchanged scope.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can persist package-manager bootstrap metadata in the first YAML document of pnpm-lock.yaml. Before the patch, direct pnpm execution trusted an already resolved packageManagerDependencies entry when the committed env lockfile contained matching pnpm and @pnpm/exe versions. A malicious repository could therefore commit package-manager lockfile package records and snapshots that bypassed fresh package-manager resolution, then cause pnpm to install and execute bytes selected by that committed lockfile state during automatic version switching. This vulnerability is fixed in 10.34.2 and 11.5.3.
Executive ViewAI
A critical vulnerability in pnpm package manager threatens the integrity of software development pipelines by enabling attackers to inject malicious code that executes when developers clone poisoned repositories, risking both intellectual property and production systems. Affected versions prior to 10.34.2 and 11.5.3 lack vendor patches, leaving organizations dependent on compensating controls to prevent supply chain compromise. Without immediate protective action, organizations face elevated risk of breached development environments and compromised software releases.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict developers from cloning external repositories; route all repository access through approved mirrors with integrity verification; (2) Implement mandatory security code review of any new repository sources before pnpm execution; (3) Monitor pnpm execution logs and process creation for anomalous activity; (4) Use air-gapped or sandboxed development environments for evaluating untrusted code; (5) Implement network monitoring on development systems for unauthorized outbound connections; (6) Maintain offline backup development toolchains isolated from external package manager access.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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 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
EUVD-2026-39484
GHSA-w466-c33r-3gjp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB