CVE Catalog

CVE-2026-121746

MediumCVSS 5.5
Published: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.17%

6th percentile - higher than 6% of all known CVEs

Summary

In nvm versions 0.40.0 through 0.40.8, nvm use --save and nvm install --save (or -w) wrote the resolved version to $PWD/.nvmrc using tee, which follows symbolic links. A repository committing .nvmrc as a symlink to a path outside itself caused --save to truncate any user-writable file (e.g., a shell startup file or ~/.ssh/authorized_keys) and replace its contents with the version string.

Risk Assessment

May cause data loss and corruption of configuration files, including potential loss of SSH access.

Recommendation

Update nvm to version 0.41.0 or later, which refuses to write when .nvmrc is a symbolic link.

Other vulnerabilities in nvm

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS