CVE-2026-121749Low· 3.3▾ SunlitNode Version Manager (nvm) is a POSIX-compliant shell function for managing multiple node.js versions. In versions 0.5.0 through 0.40.8, the requested version pattern is passed to `grep` as a bare argument, without `-e`, in `nvm_ls_remot…
▾ Sunlit zone — Low / medium · no exploitation signal
impact 18.2 · 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.5.0 through 0.40.8, the requested version pattern is passed to grep as a bare argument, without -e, in nvm_ls_remote_index_tab, nvm_remote_version, and nvm_ls_cached. A .nvmrc whose first line starts with -, such as -Rohenpm_[A-Za-z0-9]*, is parsed as grep options; with GNU grep, -R searches the current directory recursively (following symlinks) instead of the version list. On a bare nvm install, nvm then treats a matched string from those files as the version, prints it, and requests it from the configured mirror inside download URLs, so for example a repository containing a symlink to ../../.npmrc can leak the user's npm token to the terminal and to the mirror's and any proxy's logs. The disclosure is read-only and limited to the characters 0-9A-Za-z._+-. Version 0.41.0 passes every version pattern to grep with -e.
nvm >= 0.5.0 < 0.41.0Upgrade to nvm 0.41.0 or later.
Until upgrading, check that .nvmrc does not start with - before running nvm in an untrusted project directory.
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-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-121750Low· 3.1nvm install --offline installs a cached tarball that previously failed checksum verification
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