Skip to main content

pnpm EUVDEUVD-2026-39481

| CVE-2026-55487 HIGH
Origin Validation Error (CWE-346)
2026-06-25 GitHub_M GHSA-5wx6-mg75-v57r
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Inject colliding opaque dependency locator
  2. Delivery
    Victim approves legitimate source build
  3. Exploit
    Locator normalizes to approved key
  4. Execution
    Bypass allowBuilds policy
  5. Persist
    Run attacker lifecycle scripts
  6. Impact
    Code execution in dev/CI

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation requires (1) the project to use pnpm with build-script approval (allowBuilds / onlyBuiltDependencies) and a prior user approval of a legitimate OPAQUE-locator source - git, URL, tarball, file, or directory; registry-package identities are NOT affected because they legitimately normalize peer suffixes and retain patch hashes; and (2) the attacker to introduce a second source whose locator normalizes to the same key as the approved one (one of three forms: a parenthesized suffix like (evil), a final-@ semver tail misclassified as a registry package, or a semver-looking source-only tail). Limiting factors: user interaction is mandatory (UI:R - a victim must have approved a build), the colliding source must be present in the resolved dependency tree, and SSVC marks it non-automatable, so it is targeted rather than mass-exploitable.

Impact

The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H = 8.8) and SSVC (Exploitation: poc, Automatable: no, Technical Impact: total) align on a serious flaw: network-reachable, low-complexity, no privileges, but requiring user interaction. The user interaction is meaningful - a developer must approve a build for the colliding legitimate source, so this is not drive-by exploitation. EPSS is low (0.11%, 2nd percentile) and the issue is not in CISA KEV, consistent with SSVC 'Automatable: no' - exploitation is targeted and requires a crafted dependency tree plus a victim approval, not mass-scannable. Net: a high-impact (total/RCE-class) but precondition-gated supply-chain issue; real priority for organizations using pnpm with build-script approval, but not an indiscriminate worm-style threat. No conflicting signals were found; the vector and description are consistent.

Exploit ScenarioDerived

A developer approves building a trusted opaque dependency such as foo@https://host/pkg.tgz. An attacker who can influence the project's dependency set (e.g. via a transitive dependency, a malicious PR, or a typosquatted source) introduces foo@https://host/pkg.tgz(evil), which normalizes to the same approved key and silently runs its attacker-controlled install/build lifecycle scripts, achieving code execution in the developer's or CI environment. Publicly available exploit replay steps are documented in the advisory, and the network attack vector with low complexity makes the collision reliable once a user approval exists.

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

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

Alert me

AnalysisAIv3 – Jun 29, 2026

Build-script approval bypass in the pnpm package manager (versions before 10.34.2, and 11.0.0 through 11.5.2) lets an attacker-controlled dependency source run lifecycle scripts that a user only approved for a different, legitimate source. The generic peer-suffix normalizer stripped parenthesized text from opaque locators (git, URL, tarball, file), so two distinct sources could normalize to the same allowBuilds key - meaning approval of foo@https://host/pkg.tgz also authorized foo@https://host/pkg.tgz(evil). Publicly available exploit code exists (SSVC: poc) and technical impact is total, though EPSS is low at 0.11% and it is not in CISA KEV.

Earlier versions of this analysis (2)
v2 Jun 29, 2026 - 21:32 cvss changed CVSS 8.8

Origin/source-approval bypass in the pnpm package manager (versions before 10.34.2, and 11.0.0 through 11.5.2) allows an attacker-controlled dependency source to be installed under approval granted for a different, trusted source. The flaw lies in the generic peer-suffix normalizer, which over-aggressively stripped parenthesized text from git, URL, tarball, file, and other opaque locators, causing two distinct sources to normalize to the same value; a developer who runs an install (user interaction required) can therefore be served a substituted source. SSVC rates technical impact as total and a proof-of-concept exists, though EPSS is low (0.11%) and it is not in CISA KEV - no public exploit identified at time of analysis beyond the advisory's described mechanism.

v1 Jun 25, 2026 - 18:15 CVSS 7.5

Origin validation bypass in the pnpm package manager (versions before 10.34.2 and before 11.5.3) lets an attacker-controlled dependency source masquerade as a previously approved one. The generic peer-suffix normalizer strips parenthesized text not only from peer suffixes but also from git, URL, tarball, file, and other opaque locators, so two distinct source strings can normalize to an identical value - meaning a user's prior approval of one legitimate source silently authorizes a different malicious source. No public exploit identified at time of analysis; not listed in CISA KEV.

RemediationAI

Vendor-released patch: upgrade to pnpm 10.34.2 (for the 10.x line) or 11.5.3 (for the 11.x line), which reject all three normalization-collision forms and enforce byte-exact matching for opaque locators while preserving legitimate registry peer-suffix normalization. The fix is implemented in commit bf1b731ee6c0ea98709e671ff0f46bf654480ab8 and described in advisory https://github.com/pnpm/pnpm/security/advisories/GHSA-5wx6-mg75-v57r. If you cannot upgrade immediately, the most effective compensating control is to disable automatic lifecycle-script execution entirely (for example pin onlyBuiltDependencies to an empty/explicit allowlist or run installs with scripts disabled), accepting the trade-off that packages genuinely needing native builds will not compile until run manually; additionally, prefer registry-pinned dependencies over git/URL/tarball/file locators and audit any opaque sources in your lockfile, since those are the only locator types this bug affects.

Affected VersionsENISA

pnpm < 10.34.2
pnpm 11.0.0, < 11.5.3

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 gates execution of dependency lifecycle (build) scripts behind an explicit allowBuilds approval policy keyed on a dependency's resolved identity. For registry packages, that identity legitimately normalizes peer-dependency suffixes (the parenthesized tail) so a package approved without its peer suffix still matches. The defect is a CWE-346 Origin Validation Error: the same generic normalizer was applied to opaque, non-registry locators (git, URL, tarball, file, directory), incorrectly stripping parenthesized content from sources whose identity must be byte-exact. CPE cpe:2.3:a:pnpm:pnpm confirms the affected component is pnpm itself. The advisory documents three collision forms - the parenthesized-suffix strip, a Rust-only final-@ misclassification (foo@https://host/pkg@1.0.0(good) vs (evil)), and a semver-looking source-only tail (https://host/pkg@1.0.0 collapsing (evil)) - all rooted in treating opaque identities like registry identities.

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 HIGH
NVD 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

Network-delivered dependency, no attacker privileges, but a victim must approve a build (UI:R); successful lifecycle execution yields total host compromise so C/I/A all High.

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 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

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

Lifecycle Timeline

4
Analysis Updated
Jun 29, 2026 - 21:33 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 29, 2026 - 21:32 vuln.today
v2 - CVSS changed
CVSS changed
Jun 29, 2026 - 21:22 NVD
7.5 (HIGH) 8.8 (HIGH)
Patch available
Jun 25, 2026 - 19:17 EUVD

DescriptionNVD

pnpm is a package manager. Prior to 10.34.2 and 11.5.3, the generic peer-suffix normalizer also stripped parenthesized text from git, URL, tarball, file, and other opaque locators. Approval for one source string could therefore authorize a different attacker-controlled source whose locator normalized to the same value. This vulnerability is fixed in 10.34.2 and 11.5.3.

Executive ViewAI

Why It Matters

CVE-2026-55487 affects pnpm package managers before version 10.34.2 and 11.0.0-11.5.2, enabling attackers to bypass build-script approval controls and inject malicious code into the dependency installation process; publicly available exploit code exists. Organizations using vulnerable pnpm versions face direct compromise of their software build pipeline, with downstream impact to all applications and services distributed by their organization. Immediate patching is critical to prevent supply chain contamination and maintain release integrity.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
pnpm is a widely adopted JavaScript package manager in modern dev/CI pipelines
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor 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 No
EPSS 0.1%
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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-55698 HIGH POC
8.8 Jun 25

Arbitrary code execution in the pnpm package manager (versions prior to 10.34.2 and 11.5.3) lets a malicious repository

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

Vendor StatusVendor

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