Analysis and contextual insights are available on OpenCVE Cloud.
Vendor Solution
Upgrade to nvm 0.41.0 or later.
Vendor Workaround
Until upgrading, check that `.nvmrc` does not start with `-` before running nvm in an untrusted project directory.
Tracking
Sign in to view the affected projects.
No advisories yet.
Wed, 04 Nov 2026 21:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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`. | |
| Title | nvm passes the version pattern to grep without -e, letting a .nvmrc inject grep options and read local files | |
| Weaknesses | CWE-88 | |
| References |
| |
| Metrics |
cvssV3_1
|
Subscriptions
No data.
Status: PUBLISHED
Assigner: harborist
Published:
Updated: 2026-11-04T21:31:15.245Z
Reserved: 2026-11-03T23:38:59.224Z
Link: CVE-2026-121749
No data.
No data.
No data.
OpenCVE Enrichment
No data.
-
CWE-88
Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')