pnpm: Unsafe default behavior breaks integrity check
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pnpm | pnpm | before 10.33.4; 11.0.0 to before 11.4.0 | 10.33.4, 11.4.0 | Patch available | CNA |
| — | pnpm (npm) | before 10.34.0 | 10.34.0 | Patch available | GHSA-54hh-g5mx-jqcp |
| — | pnpm (npm) | 11.0.0 to before 11.4.0 | 11.4.0 | Patch available | GHSA-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
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 →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat AMQ Broker 7 | Affected | No fix yet: Fix deferred |
| Red Hat Build of Keycloak | Affected | No fix yet: Fix deferred |
| Red Hat JBoss Enterprise Application Platform 8 | Affected | No fix yet: Fix deferred |
| Red Hat JBoss Enterprise Application Platform Expansion Pack | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-50573
- 2026-10-03 Alias added: GHSA-54hh-g5mx-jqcp
- 2026-11-03 CISA SSVC decision points changed
References
More Pnpm vulnerabilities
- 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
Sources
- CVE-2026-50573 · CVE Program
- CVE-2026-50573 · NVD
- FIRST EPSS
- GHSA-54hh-g5mx-jqcp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-50573 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences