VulnTideExploited vulnerabilities, by vendor. Data as of .
Not in CISA KEVPublished CVSS 4.6 mediumEPSS 0.2% probability of exploitation in 30 daysFound by AI: Anthropic (Claude)
nvm-sh

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

Is it exploited?

Not on CISA's list. CISA has not added it to the Known Exploited Vulnerabilities catalog as of . If CISA adds it, this page shows it as known exploited.

How likely is exploitation in the next 30 days?
0.2%

EPSS score, percentile 5.5 of all scored records. A probability estimated by FIRST, not a report of exploitation.

How severe?
4.6 Medium

CVSS v4.0 base score, given by the CNA

What should I do?

Upgrade to nvm 0.41.0 or later.Solution from the CVE record.

CISA has set no required action, because the vulnerability is not in KEV.

Advisories and patches (2)

Which versions are affected?

Affected

  • from 0.5.0 to before 0.41.0

Versions by product

Source: CISA KEV 2026.11.10, as of ; FIRST EPSS, as of ; CVE List, as of . About the data.

Description

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

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

Source: CVE List, as of . About the data.

What to do

Advisories and patches

Workaround (from the CVE record)

Until upgrading, check that `.nvmrc` does not start with `-` before running nvm in an untrusted project directory.

This summary is based on the CVE record as of . Check the vendor's advisory before you act: affected versions and fixes can change.

Affected products and versions

Versions by product, as listed in the CVE record (1 product)
nvm-sh nvm
StatusVersions
Affectedfrom 0.5.0 to before 0.41.0

Versions not listed are: unaffected.

Source: CVE List, as of . About the data.

Weakness

CWE-88
  • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')

CWE and CAPEC are maintained by MITRE; the entries are those named in the CVE record.

Timeline

DateEvent
CVE record published
CVE record last updated