CVE-2026-121750: nvm install --offline installs a cached tarball that previously failed checksum verification

Published Nov 4, 2026
·
Updated

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, nvmdownloadartifact downloads a release archive directly to its final path in $NVMDIR/.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.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade nvm to a version that resolves this vulnerability.

    Fixed in 0.41.0

Event History

Nov 4, 2026
CVE Published
via MITRE·09:28 PM
Data Sourced
via MITRE·09:28 PM
RemedyDescriptionSeverityWeakness
Data Sourced
via NVD·10:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which installations are exposed to this issue?

nvm versions 0.40.5 through 0.40.8 are affected. Exploitation also requires a user to run `nvm install --offline` for the same version after a checksum-mismatch download failure and before an online retry.

2

What must an attacker be able to do?

An attacker must be able to alter the downloaded release tarball, such as through a poisoned CDN or cache object. They do not need to forge the corresponding `SHASUMS256.txt`, because the later offline installation does not revalidate the cached archive.

3

What should be done if upgrading is not immediately possible?

Do not run `nvm install --offline` for a version whose prior download reported "Checksums do not match." Remove the rejected archive from `$NVM_DIR/.cache` and obtain the release again online so its checksum is verified.

4

How can I tell whether a system may already be affected?

Review whether nvm 0.40.5 through 0.40.8 logged a checksum mismatch, then later performed an offline installation of that same Node.js version. Such an installation may have executed the cached archive's `node` and `npm` binaries.

5

Which version changes the unsafe cache behavior?

Version 0.41.0 caches an archive only after its checksum has passed. This prevents a tarball rejected during checksum verification from remaining available for a later offline installation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203