---
id: CVE-2026-121749
title: >-
  nvm passes the version pattern to grep without -e, letting a .nvmrc inject
  grep options and read local files
summary: >-
  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_remot…
severity: low
cvss: 3.3
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N'
cvssSource: cna
cwe:
  - CWE-88
vendor: nvm-sh
product: nvm
affected:
  - nvm >= 0.5.0 < 0.41.0
published: '2026-11-04'
updated: '2026-11-04'
sourceUpdated: '2026-11-04T21:31:15.245Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-121749'
references:
  - url: 'https://github.com/nvm-sh/nvm/security/advisories/GHSA-xmxw-6r9w-89gc'
    label: GHSA-xmxw-6r9w-89gc
  - url: >-
      https://github.com/nvm-sh/nvm/commit/bce663e3873fadbe8ebbc6e07e8d76fb12d5d69e
    label: Fix commit bce663e3
tags:
  - cve.org
ingestedAt: '2026-11-05T21:36:00.618Z'
---

## Overview

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

## Affected

- `nvm >= 0.5.0 < 0.41.0`

## Remediation

Upgrade to nvm 0.41.0 or later.

### Workarounds

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