Skip to main content

pnpm CVE-2026-55699

| EUVDEUVD-2026-39485 MEDIUM
Path Traversal (CWE-22)
2026-06-25 GitHub_M GHSA-4gxm-v5v7-fqc4
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Attacker publishes package with '.' or '..' bin keys
  2. Delivery
    Developer installs malicious package globally via pnpm
  3. Exploit
    Bin-name guard fails to reject traversal tokens
  4. Install
    Developer triggers subsequent global remove/update/replace
  5. C2
    pnpm re-derives bin name from installed manifest
  6. Execute
    path.join resolves to globalBinDir or parent
  7. Impact
    removeBin destroys target directory

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

The victim must be running pnpm prior to 10.34.2 (v10) or 11.5.3 (v11) and must execute pnpm add -g (or equivalent) to install a malicious package that declares bin object keys of ".", "..", or "" in its package.json. A second triggering condition is required: the victim must subsequently run a global pnpm operation - specifically a global remove, update, or add-replacement - that causes pnpm to re-derive bin names from the already-installed malicious manifest. Exploitation is therefore two-phase and not immediate upon installation. The CVSS PR:N metric confirms no authentication to pnpm itself is required, but the attacker must control or compromise a package in a registry the victim resolves against. Limiting factors include: the requirement for user interaction (UI:R) to initiate both the install and a subsequent global operation; the package must reach a registry accessible to the target; and the pnpm binary itself must be an affected version - pnpm installations that run only local (non-global) installs are not exposed to the vulnerable removeBin path.

Impact

The CVSS 3.1 base score of 6.5 with vector AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H reflects a network-reachable supply-chain delivery path (registry-hosted malicious package) that requires no special privileges, but does require the victim to actively install the package and subsequently trigger a global pnpm operation. The Availability:High rating is severe: destruction of the global bin directory removes all globally installed CLI tools from the user's PATH, potentially breaking CI pipelines, developer toolchains, and automated workflows. No EPSS score was provided in the input, and this CVE is not listed in the CISA KEV catalog, so exploitation probability and confirmed in-the-wild activity are both unconfirmed. No public POC has been identified at time of analysis. However, the supply-chain delivery mechanism significantly amplifies real-world risk: an attacker need only publish a plausible-looking npm-compatible package to a registry pnpm resolves against, making the AC:L rating accurate. The two-step requirement (install then trigger a subsequent global operation) is a realistic operational pattern for developers and CI systems, so UI:R does not substantially reduce practical risk. The absence of KEV listing and POC keeps this below the highest priority tier, but the destructive availability impact and supply-chain vector make it a genuine medium-high priority for any team using pnpm globally.

Exploit ScenarioDerived

An attacker publishes a plausible utility package to a public or private registry, embedding a bin object in package.json with the key ".." mapping to an arbitrary executable. A developer or CI pipeline running a vulnerable pnpm version installs this package globally with pnpm add -g <package>. When the developer subsequently runs pnpm remove -g <other-package> or any global update flow, pnpm re-reads the malicious manifest, derives ".." as a bin name, computes path.join(globalBinDir, ".."), and passes the parent of the global bin directory to removeBin - recursively deleting it and every tool it contains.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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's global package management flows allows deletion of the global bin directory or its parent when a malicious package with specially crafted bin keys is installed. Packages carrying ".", "..", or "" as bin object keys in their manifest bypass pnpm's bin-name guard; subsequent global remove, update, or add-replacement operations re-derive those names and pass them through path.join(globalBinDir, binName) into removeBin, resolving to the bin directory itself or its parent. No public exploit has been identified at time of analysis, but fixed versions 10.34.2 and 11.5.3 are available and should be applied immediately given the supply-chain delivery mechanism.

RemediationAI

Upgrade to pnpm 10.34.2 (for v10 users) or 11.5.3 (for v11 users), which introduce proper rejection of ".", "..", and "" as bin name keys. Run pnpm self-update or install via your preferred package manager specifying the fixed version. The vendor advisory is at https://github.com/pnpm/pnpm/security/advisories/GHSA-4gxm-v5v7-fqc4. If immediate upgrade is not possible, the most effective compensating control is to audit installed global packages - run pnpm list -g and inspect each package's package.json bin field for keys matching ".", "..", or empty strings before performing any global remove, update, or replacement operations. Avoid installing global packages from untrusted or unverified registries, and consider restricting scoped registry resolution to known-good sources in .npmrc/.pnpmfile.cjs. These workarounds reduce exposure but do not eliminate it, as the guard bypass exists in the installed pnpm binary itself.

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 is a disk-efficient JavaScript/Node.js package manager that uses hard links and a content-addressable store. The vulnerability is rooted in CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal). When a package's package.json declares a bin field as an object, pnpm extracts the keys as bin names and associates them with executable paths. A guard is supposed to reject names that would escape the global bin directory, but the implementation failed to reject the empty string (""), the current-directory token ("."), and the parent-directory token (".."). Because pnpm's remove, update, and add-replacement code paths re-read these names from the installed manifest rather than from a sanitized cache, a package installed globally re-introduces the traversal strings into later flows. Node.js's path.join(globalBinDir, ".") resolves to globalBinDir itself, and path.join(globalBinDir, "..") resolves to the directory containing it, so removeBin effectively targets and destroys those directories. Affected CPE: cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:*:* covering all versions prior to 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 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Malicious package served over network (AV:N), no complexity beyond publishing a package (AC:L), no privileges needed (PR:N), victim must install and re-trigger a global operation (UI:R), impact is solely directory destruction (A:H).

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

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
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Jun 25, 2026 - 19:17 EUVD

DescriptionCVE.org

pnpm is a package manager. Prior to 10.34.2 and 11.5.3, Manifest bin object keys such as "", ".", and ".." passed pnpm's bin-name guard. When a malicious package was installed globally, later global remove, update, or add-replacement flows could re-derive those names from the installed manifest and pass path.join(globalBinDir, binName) to removeBin. For "." this targets the global bin directory; for ".." this targets its parent. This vulnerability is fixed in 10.34.2 and 11.5.3.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular JavaScript package manager, especially in monorepo environments
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

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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