{"id":"CVE-2026-121750","aliases":[],"cve":{"records":[{"id":"CVE-2026-121750","source":"harborist","state":"PUBLISHED","reasons":[],"replacements":[],"disputed":false,"unsupportedWhenAssigned":false,"reserved":"2026-11-03T23:39:03.684Z","published":"2026-11-04T21:28:43.821Z","modified":"2026-11-09T20:47:07.647Z"}],"publishers":[{"name":"harborist","role":"CNA","organizationId":"7ffcee3d-2c14-4c3e-b844-86c6a321a158","modified":"2026-11-04T21:28:43.821Z"},{"name":"CISA-ADP","role":"ADP","organizationId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","modified":"2026-11-09T20:47:07.647Z"}],"references":[{"url":"https://github.com/nvm-sh/nvm/security/advisories/GHSA-262q-c465-prmr","tags":["vendor-advisory"],"source":"harborist"},{"url":"https://github.com/nvm-sh/nvm/commit/1f99e4c20bb92c5737b92512446acf8e303b1edd","tags":["patch"],"source":"harborist"}],"weaknesses":[{"id":"CWE-494","description":"CWE-494 Download of Code Without Integrity Check","source":"harborist"},{"id":"CWE-459","description":"CWE-459 Incomplete Cleanup","source":"harborist"}],"applicability":[],"prioritization":[{"source":"CISA-ADP","type":"SSVC","role":"CISA Coordinator","timestamp":"2026-11-09T20:46:55.193978Z","decisions":[{"name":"Exploitation","value":"none"},{"name":"Automatable","value":"no"},{"name":"Technical Impact","value":"partial"}]}]},"title":"nvm install --offline installs a cached tarball that previously failed checksum verification","titleSource":"harborist","descriptionSource":"harborist","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.","score":3.1,"severity":"low","published":"2026-11-04T21:28:43.821Z","modified":"2026-11-09T20:47:07.647Z","withdrawn":false,"knownExploited":false,"affected":[],"products":[{"vendor":"nvm-sh","name":"nvm","platforms":[],"versions":[{"version":"0.40.5","status":"affected","lessThan":"0.41.0","versionType":"semver"}],"defaultStatus":"unaffected","cpes":[],"source":"harborist","url":"https://www.cve.org/CVERecord?id=CVE-2026-121750"}],"remediation":[{"text":"Upgrade to nvm 0.41.0 or later, which removes an archive that fails verification instead of caching it.","source":"harborist","url":"https://www.cve.org/CVERecord?id=CVE-2026-121750"},{"text":"Until upgrading, after any \"Checksums do not match\" error, run `nvm cache clear` before using `nvm install --offline`.","source":"harborist","url":"https://www.cve.org/CVERecord?id=CVE-2026-121750"}],"references":["https://github.com/nvm-sh/nvm/security/advisories/GHSA-262q-c465-prmr","https://github.com/nvm-sh/nvm/commit/1f99e4c20bb92c5737b92512446acf8e303b1edd"],"sources":[{"name":"CVE","id":"CVE-2026-121750","modified":"2026-11-09T20:47:07.647Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-121750"}],"assessments":[{"source":"harborist","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","score":2.1},{"source":"harborist","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N","score":3.1}],"sourceAffected":[],"observedAt":"2026-11-09T20:56:01.362Z","kev":{"status":"not-listed","checkedAt":"2026-11-14T23:20:35.853Z"},"coverage":[{"source":"NVD","status":"available","checkedAt":"2026-11-05T05:05:31.979Z","attemptedAt":"2026-11-05T05:05:31.979Z"},{"source":"GHSA","status":"no-result","checkedAt":"2026-11-05T05:10:34.688Z","attemptedAt":"2026-11-05T05:10:34.688Z"},{"source":"EUVD","status":"available","checkedAt":"2026-11-05T05:10:34.688Z","attemptedAt":"2026-11-05T05:10:34.688Z"},{"source":"EPSS","status":"no-result","checkedAt":"2026-11-05T05:05:31.979Z","attemptedAt":"2026-11-05T05:05:31.979Z"}],"evidence":[{"source":"NVD","id":"CVE-2026-121750","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121750","modified":"2026-11-04T22:17:54.873","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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","checkedAt":"2026-11-05T05:05:31.979Z"},{"source":"NVD","id":"CVE-2026-121750","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121750","modified":"2026-11-04T22:17:54.873","score":3.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N","checkedAt":"2026-11-05T05:05:31.979Z"},{"source":"ENISA EUVD","id":"EUVD-2026-117128","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-117128","modified":"Nov 4, 2026, 9:28:43 PM","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","checkedAt":"2026-11-05T05:10:34.688Z"}],"aiSummary":{"text":"Node Version Manager (nvm) versions 0.40.5 through 0.40.8 install a cached tarball without checksum verification when using `nvm install --offline`, allowing code execution if an attacker can alter the downloaded tarball. The attacker must have access to the download process. The weakness is due to incomplete cleanup and download of code without integrity check.","model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","generatedAt":"2026-11-05T00:36:07.023Z","sources":[{"name":"CVE","url":"https://www.cve.org/CVERecord?id=CVE-2026-121750"}]}}