Skip to main content

pnpm CVE-2026-55698

| EUVDEUVD-2026-39484 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-06-25 GitHub_M GHSA-w466-c33r-3gjp
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Publish repo with poisoned pnpm-lock.yaml
  2. Delivery
    Victim clones and runs pnpm
  3. Exploit
    Auto version-switch trusts committed metadata
  4. Execution
    Bypass fresh package-manager resolution
  5. Persist
    Install attacker-selected bytes
  6. Impact
    Execute 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).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

pnpm 11.0.0, < 11.5.3
pnpm < 10.34.2

Affected Packages

npm pnpm fix: 10.34.2, 11.5.3

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

Vendor (GitHub_M) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 8.8 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
Jun 25, 2026 - 19:17 EUVD

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 93% exploitable
Prevalence
High
widely adopted JavaScript package manager across many development and CI environments
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

64
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Pnpm

View all
CVE-2025-69264 CRITICAL POC
9.8 Jan 07

Arbitrary code execution in the pnpm package manager (versions 10.0.0 through 10.25) lets a git-hosted dependency run co

CVE-2023-37478 CRITICAL POC
9.8 Aug 01

pnpm is a package manager. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no authentica

CVE-2026-50016 HIGH POC
8.8 Jun 25

Path traversal in pnpm before 10.34.0 and 11.4.0 lets a malicious registry package smuggle '../' segments inside a trans

CVE-2026-55697 HIGH POC
8.8 Jun 25

Arbitrary command execution in pnpm before 10.34.2 and 11.5.3 allows a malicious repository to run attacker-chosen nativ

CVE-2025-69263 HIGH POC
8.8 Jan 07

Supply-chain integrity bypass in pnpm package manager (versions ≤10.26.2, per description; GHSA states <10.26.0) allows

CVE-2022-26183 HIGH POC
8.8 Mar 21

PNPM v6.15.1 and below was discovered to contain an untrusted search path which causes the application to behave in unex

CVE-2026-50021 HIGH POC
8.1 Jun 25

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

CVE-2025-69262 HIGH POC
7.8 Jan 07

Command injection in pnpm versions 6.25.0 through 10.26.2 allows attackers controlling environment variables to execute

CVE-2026-82393 HIGH POC
7.5 Aug 31

Scoped path traversal in pnpm allows arbitrary filesystem overwrites during package installation, defeating the --ignore

CVE-2026-50015 HIGH POC
7.3 Jun 25

Arbitrary file write and deletion in pnpm package manager (versions prior to 10.34.0 and 11.4.0) lets a malicious contri

CVE-2026-50014 HIGH POC
7.3 Jun 25

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

CVE-2026-55700 HIGH POC
7.1 Jun 25

Path traversal in pnpm's `pnpm stage download` command (versions 11.3.0 through 11.5.2) lets a malicious or compromised

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy