CVE-2026-121750 PUBLISHED

nvm install --offline installs a cached tarball that previously failed checksum verification

Assigner: harborist
Reserved: 03.11.2026 Published: 04.11.2026 Updated: 04.11.2026

Node Version Manager (nvm) is a POSIX-compliant shell function for managing multiple node.js versions. In versions 0.40.5 through 0.40.8, nvm_download_artifact downloads a release archive directly to its final path in $NVM_DIR/.cache and verifies its checksum afterwards; on a checksum mismatch it reports an error but leaves the rejected archive in place. A later nvm install --offline of the same version installs that cached file without a checksum, so an archive that was just rejected gets installed and its node and npm run. This gives code execution to a party who can alter the downloaded tarball (for example a poisoned CDN or cache object) but cannot also forge the SHASUMS256.txt beside it, if the victim runs nvm install --offline for that version after the visible "Checksums do not match" failure and before any online retry. Version 0.41.0 only puts an archive in the cache once its checksum has passed.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS Score: 2.1

Product Status

Vendor nvm-sh
Product nvm
Versions Default: unaffected
  • affected from 0.40.5 to 0.41.0 (excl.)

Workarounds

Until upgrading, after any "Checksums do not match" error, run nvm cache clear before using nvm install --offline.

Solutions

Upgrade to nvm 0.41.0 or later, which removes an archive that fails verification instead of caching it.

Credits

  • Anthropic's OSS Scanner, as vulnerability ANT-2026-7NCT51FE finder
  • Jordan Harband (https://github.com/ljharb) remediation developer

References

Problem Types

  • CWE-494 Download of Code Without Integrity Check CWE
  • CWE-459 Incomplete Cleanup CWE