Skip to main content

pnpm CVE-2026-50015

| EUVDEUVD-2026-39492 HIGH
Path Traversal (CWE-22)
2026-06-25 GitHub_M GHSA-rxhj-4m44-96r4
7.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit PR adding malicious .patch file
  2. Delivery
    Hide ../../ traversal in diff header
  3. Exploit
    Maintainer checks out branch
  4. Execution
    Run pnpm install applies patch
  5. Impact
    Write/delete arbitrary files as user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target project uses pnpm's patch feature (a .patch file referenced via patchedDependencies in package.json) and that a victim with filesystem write privileges runs pnpm install against the attacker's contributed patch - typically after accepting or checking out a malicious pull request. The concrete prerequisite is an attacker-controlled .patch file whose diff --git/diff header path contains ../ traversal sequences; the impact is bounded to files writable by the install user. Limiting factors (UI:R in the CVSS vector): the attack is not automatic or self-propagating - a human maintainer must merge or check out the branch and trigger install, the project must actually consume patch files, and damage is confined to the privileges of the installing account, making this a targeted supply-chain vector rather than unauthenticated remote compromise of a running service.

Impact

Signals are partially conflicting and should be read together. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H, 7.3) indicates a network-reachable, low-complexity attack with high integrity and availability impact but no confidentiality loss, gated by required user interaction (a maintainer running install) - consistent with the supply-chain / pull-request delivery model described. No EPSS score was provided, the CVE is not in CISA KEV, and no POC was referenced, so there is no evidence of active or imminent mass exploitation; this is best treated as a targeted, social-engineering-dependent threat rather than a wormable internet-facing bug. The PR:L in the vendor vector is debatable - submitting a public pull request requires no privileges on the victim's system, so an argument for PR:N (raising the score) exists, while the real limiting factor is UI:R: a maintainer must actually check out the branch and run install. Net: a genuine and credible supply-chain risk for projects that accept external patch contributions, but lower urgency than a high CVSS alone would imply because exploitation hinges on a human merging/running untrusted patch files.

Exploit ScenarioDerived

An attacker opens a pull request to a target repository that adds or modifies a .patch file referenced by patchedDependencies, with a diff --git header path containing ../../ that points at a sensitive file such as a CI script, SSH config, or shell profile. A maintainer reviews the PR, sees a plausible dependency patch, checks out the branch and runs pnpm install; pnpm applies the patch and writes attacker-controlled content to (or deletes) the out-of-tree target as the maintainer/CI user. No public POC is referenced, but the technique is straightforward and reliable (AC:L) once a victim is induced to install.

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 file write and deletion in pnpm package manager (versions prior to 10.34.0 and 11.4.0) lets a malicious contributor abuse the @pnpm/patch-package pipeline, which applies .patch files without validating the file paths in their diff --git headers. Because patch diff headers are opaque to most code reviewers, an attacker can slip ../../ traversal sequences into a pull request and, when a maintainer runs pnpm install, write attacker-controlled content to or delete arbitrary files with the privileges of the installing user. There is no public exploit identified at time of analysis, and the issue is not listed in CISA KEV; the moderate-to-high CVSS of 7.3 reflects high integrity and availability impact gated by required user interaction.

RemediationAI

Upgrade pnpm to a fixed release - Vendor-released patch: 10.34.0 (10.x line) or 11.4.0 (11.x line) - as documented in advisory GHSA-rxhj-4m44-96r4 (https://github.com/pnpm/pnpm/security/advisories/GHSA-rxhj-4m44-96r4); pin the upgraded version in CI runners and developer environments since the trigger is pnpm install. Until you can upgrade, treat .patch files in patchedDependencies as executable code in code review and require manual inspection of every diff --git/+++/--- header for ../ traversal sequences before merging external pull requests, accepting that this is error-prone because diff headers are opaque to reviewers. Stronger compensating controls: run installs for untrusted branches inside a sandbox or ephemeral container with no write access outside the workspace, disable or remove patchedDependencies usage where the patch feature is not needed, and forbid auto-running pnpm install in CI on unmerged fork PRs (or run such jobs with a low-privilege, isolated filesystem) - the trade-off is added CI friction and loss of the convenience of patch-based dependency fixes.

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

The flaw lives in pnpm's patch application feature (@pnpm/patch-package), which lets projects ship .patch files in the patchedDependencies field of package.json to modify installed dependency source at install time. Patches are unified diffs whose diff --git a/... b/... and +++/--- headers declare which files to modify; pnpm parses these headers and writes the resulting files relative to the target package directory. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal): pnpm canonicalizes and trusts the header-supplied path without confining it to the package root, so ../../ segments escape the intended directory and resolve anywhere on the filesystem the install user can reach. The affected component is identified by the CPE cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:*, i.e. the pnpm CLI/package itself across all versions below the fixed releases.

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 7.3 HIGH
AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

Submitting a public PR needs no privileges on the victim (PR:N), but a maintainer must run install (UI:R); reliable traversal (AC:L) yields high integrity/availability impact and no confidentiality loss.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
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's patch application pipeline (@pnpm/patch-package) performs no path validation on file paths extracted from .patch files. An attacker who contributes a malicious patch file via a pull request can write attacker-controlled content to or delete arbitrary files on the filesystem during pnpm install, as the user running the install. The diff --git header paths containing ../../ sequences traverse out of the package directory, and the traversal is difficult to catch in code review because patch file diff headers are opaque to most reviewers. This vulnerability is fixed in 10.34.0 and 11.4.0.

Executive ViewAI

Why It Matters

pnpm package manager prior to versions 10.34.0 and 11.4.0 is vulnerable to arbitrary file write and deletion through malicious patch files in pull requests. Attackers can exploit path traversal in the @pnpm/patch-package component when maintainers run pnpm install, creating a supply chain compromise risk that affects system integrity across development and build environments.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim controls: (1) Require dedicated code review for .patch files focusing on diff --git header inspection for path traversal sequences; (2) Execute pnpm install only within isolated, short-lived container environments with minimal privileges; (3) Disable @pnpm/patch-package plugin if not required; (4) Deploy file system integrity monitoring (AIDE, Tripwire, osquery) on dev and build systems; (5) Whitelist approved patch contributors; (6) Pin pnpm versions and avoid automatic upgrades until patches are certified.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
High
widely-adopted JavaScript package manager across many Node.js projects and monorepos
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
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 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
Partial

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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-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-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