Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPublish malicious repo with crafted pnpm-workspace.yaml
-
DeliveryVictim clones and runs pnpm install
-
Exploitpnpm resolves repo-declared pacquet config dependency
-
ExecutionSpawn @pacquet/<platform>-<arch>/pacquet binary
-
ImpactExecute attacker code as developer/CI user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to run pnpm install (UI:R) on an attacker-controlled repository whose pnpm-workspace.yaml declares pacquet or @pnpm/pacquet as a configDependency, and which supplies a malicious @pacquet/<platform>-<arch>/pacquet native binary matching the victim's platform/arch. The attacker needs no authentication or privileges on the victim system (PR:N), but does need to deliver the malicious repo and get it installed; it only triggers on pnpm versions before 10.34.2 / 11.5.3, since patched versions no longer treat the repository-controlled config dependency as an install-engine opt-in. The principal limiting factors are the required install action and the platform-specific binary the attacker must provide. |
| Impact | Signals are mixed but lean toward a real, situational priority for developer and CI/CD environments. CVSS 8.8 (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) reflects high confidentiality, integrity, and availability impact with no privileges required, but the UI:R requirement (a victim must clone and install a malicious repo) materially gates exploitation. SSVC aligns with this: Exploitation=poc, Automatable=no, Technical Impact=total - total impact but not mass-automatable, consistent with targeted supply-chain or social-engineering use rather than internet-wide scanning. EPSS is very low at 0.12% (2nd percentile), and the CVE is not in CISA KEV, so there is no evidence of active in-the-wild exploitation despite public POC code. The 'network' attack vector is somewhat optimistic here - exploitation is really delivery-via-repository plus a local install action - so defenders should read AV:N as 'attacker-controlled repo content' rather than a remote service exposure. |
| Exploit ScenarioDerived | An attacker publishes or contributes to a repository whose pnpm-workspace.yaml declares pacquet (or @pnpm/pacquet) as a config dependency and ships a malicious @pacquet/<platform>-<arch>/pacquet native binary. A developer or CI pipeline clones the repo and runs pnpm install, at which point pnpm resolves and spawns the attacker's binary with the developer/CI user's privileges, achieving code execution. Public exploit code exists, and the low attack complexity (AC:L) means no special timing or conditions are needed beyond the victim performing the install. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Jun 30, 2026
Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-chosen native binaries as the developer or CI user during a routine install. The flaw stems from pnpm processing configDependencies in pnpm-workspace.yaml before command dispatch: a repo could declare pacquet/@pnpm/pacquet as a config dependency, causing pnpm to resolve a platform-specific @pacquet/<platform>-<arch>/pacquet binary from node_modules/.pnpm-config and spawn it. Publicly available exploit code exists, though EPSS is low (0.12%, 2nd percentile) and it is not in CISA KEV.
Earlier versions of this analysis (2)
Arbitrary command execution in the pnpm package manager (versions prior to 10.34.2, and 11.0.0 through 11.5.3) lets a malicious repository run attacker-chosen native binaries on a developer or CI machine. Because pnpm processed configDependencies declared in pnpm-workspace.yaml before command dispatch, a repository could declare 'pacquet' or '@pnpm/pacquet' as a config dependency, causing pnpm to resolve a repository-controlled @pacquet/<platform>-<arch>/pacquet binary and spawn it as the install-running user. Publicly available exploit code exists, though EPSS is low (0.12%) and it is not on the CISA KEV list.
Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-controlled code on a developer or CI machine during pnpm install. Because pnpm processed configDependencies from pnpm-workspace.yaml before command dispatch, a repository could declare pacquet/@pnpm/pacquet as a config dependency, causing pnpm to resolve a platform-specific @pacquet/<platform>-<arch>/pacquet binary from node_modules/.pnpm-config/ and spawn it as the install user. No public exploit identified at time of analysis and it is not listed in CISA KEV, but the attack requires only that a victim clone and install a crafted repository.
RemediationAI
Vendor-released patch: upgrade pnpm to 10.34.2 (10.x line) or 11.5.3 (11.x line), as documented in GitHub Security Advisory GHSA-gj8w-mvpf-x27x (https://github.com/pnpm/pnpm/security/advisories/GHSA-gj8w-mvpf-x27x); pin the patched version in CI runner images and developer toolchains. Until upgraded, the practical compensating control is to avoid running pnpm install on untrusted or unreviewed repositories and to audit pnpm-workspace.yaml for any configDependencies entry referencing pacquet or @pnpm/pacquet before installing - removing or rejecting such entries prevents the install-engine opt-in, with the trade-off that legitimate pacquet engine usage would be blocked. Running installs in sandboxed/ephemeral CI containers with no persistent credentials limits blast radius if the binary is spawned, though it does not prevent code execution within that sandbox.
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 widely used JavaScript/Node.js package manager that reads project configuration from pnpm-workspace.yaml, including a configDependencies mechanism intended to let a workspace opt into an alternate install engine (pacquet). The root cause is CWE-78 (OS Command Injection / argument-to-command flow): pnpm trusted a repository-controlled configDependency as an install-engine opt-in and, during install, resolved a native platform-specific binary path (node_modules/.pnpm-config/<packageName>, i.e. @pacquet/<platform>-<arch>/pacquet) and executed it directly. Because this resolution and spawn happened before normal command dispatch and lifecycle-script gating, simply running an install in a hostile repository was enough to execute attacker-supplied code. The CPE cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:* confirms the pnpm package itself is the affected component.
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 content is network-delivered (AV:N) and trivially triggered (AC:L) with no attacker privileges (PR:N), but requires the victim to run install (UI:R); arbitrary binary execution yields total C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
pnpm is a package manager. Prior to 10.34.2 and 11.5.3, pnpm can install configDependencies declared in pnpm-workspace.yaml before command dispatch. Before the patch, a repository could declare pacquet or @pnpm/pacquet as a config dependency and pnpm treated that repository-controlled dependency as an install-engine opt-in. During install, pnpm resolved a platform-specific @pacquet/<platform>-<arch>/pacquet binary from node_modules/.pnpm-config/<packageName> and spawned it as the developer or CI user. This vulnerability is fixed in 10.34.2 and 11.5.3.
Executive ViewAI
pnpm versions before 10.34.2 and 11.5.3 enable arbitrary code execution on developer machines and CI/CD systems during routine package installation from malicious repositories. This supply chain attack vector directly threatens development infrastructure and source code integrity across the organization. Publicly available exploit code exists for this vulnerability.
Apply vendor patch to pnpm 10.34.2 or 11.5.3. Until patches are deployed: enforce dependency installation from trusted registries only, implement mandatory code review for new dependencies, and disable automatic dependency updates in CI/CD pipelines.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
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
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-39483
GHSA-gj8w-mvpf-x27x
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB