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
Share

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
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jun 25, 2026 - 19:17 EUVD
Analysis Generated
Jun 25, 2026 - 18:18 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

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

CVE-2026-55699 MEDIUM POC
6.5 Jun 25

Path traversal in pnpm's global package management flows allows deletion of the global bin directory or its parent when

Vendor StatusVendor

Share

CVE-2026-50015 vulnerability details – vuln.today

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