Read the docs
TI-2026-37294 Aliases CVE-2026-50573GHSA-54hh-g5mx-jqcp

pnpm: Unsafe default behavior breaks integrity check

Priority LOW 36CWE-345Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Partial Red Hat: 4 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-345.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00168 6th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial pnpm (pnpm): 10.33.4, 11.4.0pnpm (npm): 10.34.0, 11.4.0Red Hat: 4 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

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-54hh-g5mx-jqcp
—pnpm (npm)11.0.0 to before 11.4.011.4.0Patch availableGHSA-54hh-g5mx-jqcp
  • 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-54hh-g5mx-jqcp
  • pnpm (npm) Vendor— Affected 11.0.0 to before 11.4.0 Fixed in 11.4.0 Patch available GHSA-54hh-g5mx-jqcp

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-54hh-g5mx-jqcp pnpm (npm) Fixed in 10.34.0 Advisory →
  • Fix · GHSA-54hh-g5mx-jqcp pnpm (npm) Fixed in 11.4.0 Advisory →

Vendor assessments

Red Hat

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

ProductStatusPlan or fix
Red Hat AMQ Broker 7AffectedNo fix yet: Fix deferred
Red Hat Build of KeycloakAffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform 8AffectedNo fix yet: Fix deferred
Red Hat JBoss Enterprise Application Platform Expansion PackAffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-50573
  2. 2026-10-03 Alias added: GHSA-54hh-g5mx-jqcp
  3. 2026-11-03 CISA SSVC decision points changed

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