CVE-2026-121746
Dashboard / Vulnerabilities / CVE-2026-121746
Summary: nvm use --save and nvm install --save write through a symlinked .nvmrc, overwriting any file the user can write
Details: Node Version Manager (nvm) is a POSIX-compliant shell function for managing multiple node.js versions. In versions 0.40.0 through 0.40.8, `nvm use --save` and `nvm install --save` (or `-w`) write the resolved version to `$PWD/.nvmrc` with `tee`, which follows a symbolic link. A repository that commits `.nvmrc` as a symlink to a path outside itself (git recreates the link on clone) therefore makes `--save` truncate any file the user can write, such as a shell startup file or `~/.ssh/authorized_keys`, and replace its contents with the version string, or create the target of a dangling link; the link itself is left unchanged, so `git status` stays clean. The attacker does not control the content written, so this is data loss, not code execution. Version 0.41.0 refuses, with a warning, to write when `.nvmrc` in the current directory is a symlink, dangling or not, rather than writing through it or replacing it.
References: https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/121xxx/CVE-2026-121746.json, https://github.com/nvm-sh/nvm/security/advisories/GHSA-8qjx-8r8m-mpqh, https://nvd.nist.gov/vuln/detail/CVE-2026-121746, https://github.com/nvm-sh/nvm/commit/3f8411e58d40b904e4ff6a96512391f56bd95bf7, https://github.com/nvm-sh/nvm
Affected packages
Package
Name:
Purl:
Affected ranges
Type: GIT
Events:
