{"id":"CVE-2026-121746","published":"2026-11-04T22:17:54.160","lastModified":"2026-11-04T22:17:54.160","description":"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.","cvssScore":5.5,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","cwes":["CWE-59"],"vendors":[],"products":[],"references":[{"url":"https://github.com/nvm-sh/nvm/commit/3f8411e58d40b904e4ff6a96512391f56bd95bf7","tags":[]},{"url":"https://github.com/nvm-sh/nvm/security/advisories/GHSA-8qjx-8r8m-mpqh","tags":[]}],"exploitRefs":[{"url":"https://github.com/nvm-sh/nvm/commit/3f8411e58d40b904e4ff6a96512391f56bd95bf7","tags":[]},{"url":"https://github.com/nvm-sh/nvm/security/advisories/GHSA-8qjx-8r8m-mpqh","tags":[]}],"hasPoc":true,"ai":null}