CVE-2026-121750Low· 3.1▾ SunlitNode 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`…
▾ Sunlit zone — Low / medium · no exploitation signal
impact 17.1 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
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.
nvm >= 0.40.5 < 0.41.0Upgrade to nvm 0.41.0 or later, which removes an archive that fails verification instead of caching it.
Until upgrading, after any "Checksums do not match" error, run nvm cache clear before using nvm install --offline.
Connected by shared product, vendor, weakness, or advisory.
CVE-2026-121746Medium· 5.5nvm use --save and nvm install --save write through a symlinked .nvmrc, overwriting any file the user can write
CVE-2026-121749Low· 3.3nvm passes the version pattern to grep without -e, letting a .nvmrc inject grep options and read local files
CVE-2026-121747Medium· 5.5nvm prints the contents of any readable file through a symlinked .nvmrc
CVE-2026-121748Low· 3.6nvm use --delete-prefix lets a project .npmrc choose which file npm rewrites or makes world-writable
CVE-2026-121745Low· 2.5nvm exposes NVM_AUTH_HEADER to other local users on the curl/wget command line
CVE-2026-121751Low· 3.1nvm evaluates a malicious mirror's index.tab version strings as shell arithmetic via stored LTS aliases