Read the docs
TI-2026-36841 Aliases CVE-2026-50015GHSA-rxhj-4m44-96r4

pnpm: Arbitrary File Write/Delete via Malicious Patch File (Path Traversal)

Priority HIGH 65CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
Required
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00428 37th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed pnpm (pnpm): 10.33.4, 11.4.0pnpm (npm): 10.34.0, 11.4.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
pnpmpnpmbefore 10.33.4; 11.0.0 to before 11.4.010.33.4, 11.4.0Patch availableCNA
—pnpm (npm)before 10.34.010.34.0Patch availableGHSA-rxhj-4m44-96r4
—pnpm (npm)11.0.0 to before 11.4.011.4.0Patch availableGHSA-rxhj-4m44-96r4
  • pnpm Vendorpnpm Affected before 10.33.4; 11.0.0 to before 11.4.0 Fixed in 10.33.4, 11.4.0 Patch available CNA
  • pnpm (npm) Vendor— Affected before 10.34.0 Fixed in 10.34.0 Patch available GHSA-rxhj-4m44-96r4
  • pnpm (npm) Vendor— Affected 11.0.0 to before 11.4.0 Fixed in 11.4.0 Patch available GHSA-rxhj-4m44-96r4

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:*before 10.34.0; 11.0.0 to before 11.4.0Vulnerablepnpm
  • cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:* Versions before 10.34.0; 11.0.0 to before 11.4.0 Vulnerable ·pnpm

Remediation

  • Fix · CNA pnpm (pnpm) Fixed in 10.33.4, 11.4.0
  • Fix · GHSA-rxhj-4m44-96r4 pnpm (npm) Fixed in 10.34.0 Advisory →
  • Fix · GHSA-rxhj-4m44-96r4 pnpm (npm) Fixed in 11.4.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

Not affected: 4 products
  • Red Hat AMQ Broker 7
  • Red Hat Build of Keycloak
  • Red Hat JBoss Enterprise Application Platform 8
  • Red Hat JBoss Enterprise Application Platform Expansion Pack

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-50015
  2. 2026-10-03 Alias added: GHSA-rxhj-4m44-96r4

References

  • TI-2025-42715 pnpm v10+ Bypass "Dependency lifecycle scripts execution disabled by default" CVSS 3.1CRITICAL 9.8
  • TI-2023-19086 pnpm incorrectly parses tar archives relative to specification CVSS 3.1CRITICAL 9.8
  • TI-2026-40212 pnpm: Project env lockfile can short-circuit package-manager resolution and execute lockfile-selected pnpm bytes CVSS 3.1HIGH 8.8
  • TI-2026-40211 pnpm: Repository-controlled configDependencies can select a pacquet native install engine CVSS 3.1HIGH 8.8
  • TI-2026-40042 pnpm: manifest identity spoof satisfies allowBuilds and runs attacker lifecycle CVSS 3.1HIGH 8.8
  • TI-2026-36842 pnpm: Transitive dependency alias path traversal allows project path override via symlink replacement CVSS 3.1HIGH 8.8
See all 27 →

Sources