Skip to main content

pnpm CVE-2026-50016

| EUVDEUVD-2026-39494 HIGH
Relative Path Traversal (CWE-23)
2026-06-25 GitHub_M GHSA-hwx4-2j3j-g496
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 package with malicious alias metadata
  2. Delivery
    Land package in victim's dependency tree
  3. Exploit
    Victim runs pnpm install (even --ignore-scripts)
  4. Execution
    Traversal alias used as link path
  5. Persist
    Project paths replaced with attacker symlinks
  6. Impact
    Code execution on next build/run

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Relative path traversal prevention
Exploitation Conditions

Exploitation requires that the victim run a pnpm install (UI:R) with a vulnerable pnpm version (<10.34.0 or <11.4.0) and that the dependency graph resolve a package whose registry metadata supplies a transitive dependency alias containing path-traversal (../) segments - i.e., the attacker must control or compromise a package that lands in the project's transitive dependencies. Notably, enabling --ignore-scripts does NOT prevent it, so that common hardening setting is not a limiting factor. Limiting factors are: the attacker must get a malicious package into resolution (direct add or transitive pull-in), an install must actually be executed, and the pnpm binary must be unpatched; no attacker authentication to the victim system and no lifecycle scripts are needed.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H = 8.8) reflects a network-delivered, low-complexity attack requiring only that a victim install an affected dependency (UI:R). The most operationally significant detail is that exploitation works under --ignore-scripts, the exact mitigation many teams rely on against malicious packages, so a common compensating control does not apply here. No EPSS score, KEV listing, or POC was supplied: this is a real and credible supply-chain integrity risk but, on available evidence, there is no public exploit identified at time of analysis and no confirmed active exploitation, so it should be patched promptly rather than treated as an in-progress incident. One caveat to verify: the official vector rates C:H, but the described primitive (symlink replacement) is most directly an integrity/availability issue - confidentiality impact is plausible (symlinking secrets into readable locations) but second-order, so treat C:H as vendor-assigned rather than self-evident.

Exploit ScenarioDerived

An attacker publishes (or compromises) a package whose metadata declares a transitive dependency alias containing ../ path-traversal segments, then gets it into a victim's dependency tree directly or as a transitive dependency. When the victim runs pnpm install - even with --ignore-scripts - pnpm links that alias to a path outside node_modules, replacing project files or directories with symlinks to attacker-controlled dependency content, which can lead to code execution on next build or run. No public POC is identified at time of analysis, but the low attack complexity makes weaponization straightforward once the malicious package is in the resolution graph.

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

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

Alert me

AnalysisAIv1 – Jun 25, 2026

Path traversal in pnpm before 10.34.0 and 11.4.0 lets a malicious registry package smuggle '../' segments inside a transitive dependency alias, which pnpm then trusts as a filesystem path while linking dependency nodes. During a normal install - even with pnpm install --ignore-scripts - this allows a published package to replace paths inside the victim's project with symlinks pointing at attacker-controlled dependency directories, corrupting project integrity and enabling downstream code execution. No public exploit is identified at time of analysis; risk is amplified because the bug fires without lifecycle scripts, defeating the --ignore-scripts safety habit.

RemediationAI

Vendor-released patch: upgrade pnpm to 10.34.0 (for the 10.x line) or 11.4.0 (for the 11.x line) or later, per advisory GHSA-hwx4-2j3j-g496 (https://github.com/pnpm/pnpm/security/advisories/GHSA-hwx4-2j3j-g496); pin the upgraded version in CI runners, Corepack/packageManager fields, and developer environments so older binaries cannot silently run. Because the flaw triggers even under --ignore-scripts, do not rely on that flag as a control. Until upgrade is complete, reduce exposure by installing only from a vetted private registry or lockfile-pinned dependencies and avoiding fresh resolution of new transitive packages (trade-off: blocks legitimate dependency updates), running installs in disposable/sandboxed CI containers with no write access to sensitive host paths (trade-off: added CI complexity), and reviewing lockfile diffs for unexpected alias values or symlink targets before merging (trade-off: manual review overhead). These limit blast radius but are not equivalent to the patch.

Affected VersionsENISA

pnpm < 10.33.4
pnpm 11.0.0, < 11.4.0

Affected Packages

npm pnpm fix: 10.33.4, 10.34.0, 11.4.0

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 content-addressable Node.js package manager that builds a nested node_modules layout by symlinking packages from a global store into per-project dependency nodes. The flaw is a CWE-23 (relative path traversal): the dependency 'alias' field, sourced from untrusted registry package metadata for transitive dependencies, is not sanitized before being concatenated into a link target path. Because pnpm reuses that alias as the on-disk location when materializing the dependency graph, embedded ../ sequences escape the intended node_modules subtree and let the resolver write symlinks to arbitrary locations relative to the project root. The affected component is pnpm itself (cpe:2.3:a:pnpm:pnpm:*), and the trigger lives in the link/resolution phase rather than in lifecycle (install/postinstall) scripts.

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.3 HIGH

Network-delivered malicious package, low complexity, no attacker privileges, but victim must run install (UI:R); symlink replacement is primarily integrity/availability, with only secondary confidentiality (C:L).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 8.0 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.0 and 11.4.0, pnpm allows a transitive dependency alias from registry package metadata to contain path traversal segments. During install, pnpm later uses that alias as a filesystem path when linking dependency nodes. As a result, a registry package can cause pnpm install --ignore-scripts to replace paths in the current project with symlinks to attacker-controlled dependency package directories. This vulnerability is fixed in 10.34.0 and 11.4.0.

Executive ViewAI

Why It Matters

pnpm dependency resolver vulnerability (CVE-2026-50016) enables attackers to inject malicious code into projects during routine package installation, bypassing common safety practices like --ignore-scripts. Organizations using vulnerable pnpm versions face supply chain compromise, corrupted build artifacts, and unauthorized code execution that could affect both development and production environments.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict registry verification and package signature validation where supported, (2) Audit lock files and node_modules for unauthorized symlink entries, (3) Restrict package registry sources to approved, curated registries only, (4) Deploy supply chain scanning tools to detect anomalous dependency modifications, (5) Enforce code review for all dependency changes and lock file modifications until patch is available.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
High
widely adopted JavaScript package manager across modern dev and CI
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.3%
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very 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

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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

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