Skip to main content

pnpm CVE-2026-50573

| EUVDEUVD-2026-39489 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-06-25 GitHub_M GHSA-54hh-g5mx-jqcp
8.1
CVSS 3.1 · NVD
Share

Severity by source

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

AC:H because the attacker must first control registry content for an already-pinned version; UI:R as a victim must run a non-frozen install; C:H/I:H from installing attacker-chosen code, A:N as availability is not the impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

8
Source Code Evidence Fetched
Jun 29, 2026 - 21:29 vuln.today
Analysis Updated
Jun 29, 2026 - 21:29 vuln.today
v3 (cvss_changed)
Analysis Updated
Jun 29, 2026 - 21:29 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jun 29, 2026 - 21:22 vuln.today
cvss_changed
Severity Changed
Jun 29, 2026 - 21:22 NVD
MEDIUM HIGH
CVSS changed
Jun 29, 2026 - 21:22 NVD
6.8 (MEDIUM) 8.1 (HIGH)
Patch available
Jun 25, 2026 - 19:17 EUVD
Analysis Generated
Jun 25, 2026 - 18:22 vuln.today

DescriptionNVD

pnpm is a package manager. Prior to 10.34.0 and 11.4.0, pnpm install in non-frozen mode can accept new remote package content after detecting that the downloaded tarball does not match the integrity recorded in pnpm-lock.yaml. When a package is already locked with an integrity value, and the registry later serves different metadata and tarball content for the same package name and version, pnpm initially reports an integrity mismatch. However, plain pnpm install then performs a resolution repair, accepts the registry's new integrity, updates the lockfile, installs the new content, and exits successfully. This means the lockfile integrity check does not act as a hard stop by default. This vulnerability is fixed in 10.34.0 and 11.4.0.

AnalysisAI

Lockfile integrity bypass in the pnpm package manager (versions below 10.34.0, and 11.0.0 through 11.4.0) lets a malicious or compromised registry override a package version's previously recorded hash. On a plain pnpm install in non-frozen mode, pnpm detects the tarball-vs-lockfile integrity mismatch, warns, then silently performs a 'resolution repair' that accepts the registry's new integrity, rewrites pnpm-lock.yaml, and installs the substituted content while exiting 0. Publicly available exploit code exists (a full reproduction scenario is published in the GitHub advisory), but there is no public exploit identified as used in active attacks; EPSS is low at 0.11%.

Technical ContextAI

pnpm-lock.yaml records a Subresource-Integrity-style hash (sha512) for every resolved package as a Trust-On-First-Use anchor: subsequent installs are supposed to fail closed if the fetched tarball does not match. The root cause is CWE-345 (Insufficient Verification of Data Authenticity): the integrity check is treated as advisory rather than authoritative when the install is not run with --frozen-lockfile. When a hash mismatch occurs, pnpm's 'resolution repair' path conflates two distinct situations - a legitimately stale lockfile that needs regeneration, versus a registry serving altered content for an already-pinned (name, version) pair - and resolves both by trusting the live registry. The affected component is the pnpm CLI itself (cpe:2.3:a:pnpm:pnpm), not a transitive library, so any project using pnpm without frozen installs inherits the weak default.

RemediationAI

Vendor-released patch: upgrade to pnpm 10.34.0 (for the 10.x/older line) or pnpm 11.4.0 (for the 11.x line), per advisory GHSA-54hh-g5mx-jqcp (https://github.com/pnpm/pnpm/security/advisories/GHSA-54hh-g5mx-jqcp). As an immediate compensating control that does not require upgrading, run installs with pnpm install --frozen-lockfile everywhere a committed lockfile exists (set CI to fail rather than repair), which makes a hash mismatch a hard stop; the trade-off is that legitimate lockfile drift must now be resolved deliberately with an explicit pnpm install/update rather than silently. Additionally, require HTTPS registries and pin/verify your registry or mirror to remove the MITM/altered-content path, and restrict who can publish/overwrite package versions on internal registries (disable version overwrite/republish). Frozen-lockfile is the default in CI for many setups already, so enforcing it closes the practical exposure pending the upgrade.

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

Share

CVE-2026-50573 vulnerability details – vuln.today

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