CVE-2026-121749 nvm passes the version pattern to grep without -e, letting a .nvmrc inject grep options and read local files

Medium 4.6 Published Updated
Exploited in the wild
Not known
Fix
None listed

What is CVE-2026-121749?

CVE-2026-121749 is a medium-severity vulnerability in nvm-sh nvm, published on 4 Nov 2026.

Official description

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`.

Weakness: CWE-88

Which versions are affected by CVE-2026-121749?

How do I fix CVE-2026-121749?

No fix has been published for CVE-2026-121749 yet. Limit exposure of the affected software until one is available.

Is CVE-2026-121749 being exploited?

There is no known exploitation of CVE-2026-121749 in the wild and no public exploit code.

Sources

Also known as GHSA-xmxw-6r9w-89gc.

Is CVE-2026-121749 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free