Skip to main content

pnpm CVE-2026-55700

| EUVDEUVD-2026-39487 HIGH
Path Traversal (CWE-22)
2026-06-25 GitHub_M GHSA-v23m-ccfg-pq9h
7.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L
vuln.today AI
7.1 HIGH

Registry-controlled input over the network (AV:N, PR:N) but the victim must run stage download (UI:R); arbitrary file overwrite gives I:H with A:L and no confidentiality impact (C:N).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

3
Patch available
Jun 25, 2026 - 19:17 EUVD
Source Code Evidence Fetched
Jun 25, 2026 - 18:17 vuln.today
Analysis Generated
Jun 25, 2026 - 18:17 vuln.today

DescriptionCVE.org

pnpm is a package manager. From 11.3.0 until 11.5.3, pnpm stage download derived a local filename from registry-controlled package name and version fields. A crafted manifest could escape the selected download directory and overwrite another reachable file. The merged fix validates both fields, derives one safe filename, and verifies the final destination before writing. This vulnerability is fixed in 11.5.3.

AnalysisAI

Path traversal in pnpm's pnpm stage download command (versions 11.3.0 through 11.5.2) lets a malicious or compromised registry overwrite arbitrary files reachable by the user running the command. The tool built a local tarball filename directly from registry-controlled package name and version fields, so a crafted manifest (e.g. a version like 1.0.0/../../evil) escaped the intended download directory. This is fixed in 11.5.3; no public exploit identified at time of analysis, though the fixing PR (#12303) includes proof-of-traversal test cases.

Technical ContextAI

pnpm is a widely-used Node.js package manager; the affected code lives in its release/staging tooling (@pnpm/releasing.commands). The vulnerable function derived an output filename via a naive normalizePackageName(name) (only stripping @ and /) concatenated with the raw version field and a stage ID, then passed it to path.resolve() and fs.writeFile(). Because neither field was validated, embedded path separators and ../ sequences in the manifest's name or version survived into the resolved path, producing a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal). The merged fix introduces createTarballFilename(), which validates the package name with validate-npm-package-name, validates the version with semver valid(), rejects any filename whose path.basename (POSIX and win32) differs from itself, and additionally verifies that the final resolved destination's directory equals the intended download directory before writing.

RemediationAI

Vendor-released patch: upgrade to pnpm 11.5.3 or later, which validates package name and version fields and verifies the write destination stays within the download directory. As a compensating control until upgrade, avoid running pnpm stage download against untrusted or third-party registries, and pin staging operations to a known-good internal registry you control; running the command from an isolated/ephemeral working directory with no sensitive sibling files limits the blast radius of any overwrite, at the cost of extra workflow steps. Review advisory GHSA-v23m-ccfg-pq9h (https://github.com/pnpm/pnpm/security/advisories/GHSA-v23m-ccfg-pq9h) and the fix in https://github.com/pnpm/pnpm/pull/12303 for details.

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-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-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-55700 vulnerability details – vuln.today

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