Junglewise Threat Intelligence

CVE-2026-50573: pnpm insufficient verification of data authenticity in non-frozen install

CVE-2026-50573 · Severity: medium · CVSS 6.8 · Published 2026-06-25

Executive brief

pnpm is a package manager used to install JavaScript dependencies for Node.js projects. In its default configuration, when installing packages, pnpm may accept and install modified package content from a registry even when it detects that the downloaded file doesn't match the integrity hash recorded in the project's lockfile. On a fresh development environment or new team member setup, this could allow a compromised package registry or attacker to inject malicious code into the build without the developer noticing, because pnpm silently updates the lockfile and exits successfully despite detecting the mismatch.

Technical details

The vulnerability exists in pnpm's non-frozen install mode (the default behavior). When pnpm detects a tarball integrity mismatch between the downloaded package and the locked integrity in pnpm-lock.yaml, it performs automatic "resolution repair" instead of failing. This causes pnpm to accept the registry's new content, update the lockfile to trust the new integrity, and install the modified package while exiting with success code 0. The vulnerability class is insufficient data authenticity verification (CWE-345). The attack requires network access to a registry and user interaction (running pnpm install), but no authentication or privileges. An attacker controlling a package registry, registry proxy, or able to intercept registry responses can serve malicious tarballs that replace legitimate packages. The frozen-lockfile mode (--frozen-lockfile) correctly rejects such mismatches and does not exhibit this behavior. Patches are available in pnpm 10.34.0+ and 11.4.0+.

Affected products

  • pnpm pnpm <10.34.0 and >=11.0.0 <11.4.0

Timeline

  • 2026-05-28: disclosed
  • 2026-06-26: published
  • 2026-06-26: patched: Fixed in versions 10.34.0 and 11.4.0

References