Description
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.
Published: 2026-11-04
Score: 2.1 Low
EPSS: n/a
KEV: No
Impact: Local Code Execution
Action: Apply Patch
AI Analysis

Impact

Node Version Manager (nvm) includes a flaw where a checksum mismatch during online download does not remove the rejected archive from its cache, and a subsequent offline install blindly uses that cached file without performing a checksum validation. This defect permits an attacker who can supply or modify the delivery of an archive – for example through a compromised CDN or a tampered cache object – to execute arbitrary code under the user’s shell when that user performs `nvm install --offline` after a failed checksum check. The weakness is an improper validation of cached artifacts (CWE-459 and CWE-494). The consequence is that any code contained in the malicious tarball is executed as the user who runs nvm, providing local code‑execution privileges.

Affected Systems

The vulnerability affects the nvm project (Node Version Manager) under the vendor nvm-sh:nvm. Affected product versions are 0.40.5 through 0.40.8; the fix was introduced in version 0.41.0. All installations using those legacy versions are at risk until they are upgraded or the cache is cleared.

Risk and Exploitability

The CVSS score of 2.1 indicates low overall severity, but the lack of a checksum check during offline installation means the flaw escalates to code execution when an attacker can influence the contents of the tarball. The EPSS score is not available, which neither confirms nor excludes the likelihood of exploitation, yet the possibility of manual supply of a poisoned tarball gives the attacker sufficient control to trigger the vulnerability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, so no confirmed exploitation is known. Attackers would need local access to run nvm locally and influence the cached archive, making the attack vector a local, interactive scenario rather than an external network exploit.

Generated by OpenCVE AI on November 4, 2026 at 22:54 UTC.

Remediation

Vendor Solution

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


Vendor Workaround

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


OpenCVE Recommended Actions

  • Upgrade nvm to version 0.41.0 or later, which prevents caching of archives that fail checksum verification.
  • If upgrading is not immediately possible, clear the cache after a "Checksums do not match" error by running `nvm cache clear` before executing any `nvm install --offline` for that version.
  • Avoid performing offline installs for the vulnerable 0.40.x releases until the cache has been cleared or the software has been upgraded.

Generated by OpenCVE AI on November 4, 2026 at 22:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Nvm-sh
Nvm-sh nvm
Vendors & Products Nvm-sh
Nvm-sh nvm

Wed, 04 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Description 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.
Title nvm install --offline installs a cached tarball that previously failed checksum verification
Weaknesses CWE-459
CWE-494
References
Metrics cvssV3_1

{'score': 3.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N'}

cvssV4_0

{'score': 2.1, '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: harborist

Published:

Updated: 2026-11-04T21:28:43.821Z

Reserved: 2026-11-03T23:39:03.684Z

Link: CVE-2026-121750

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-04T22:17:54.873

Modified: 2026-11-04T22:17:54.873

Link: CVE-2026-121750

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T23:00:21Z

Weaknesses
  • CWE-459

    Incomplete Cleanup

  • CWE-494

    Download of Code Without Integrity Check