{"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","slug":"CVE-2026-121749","body":"## Overview\n\nNode 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`.\n\n## Affected\n\n- `nvm >= 0.5.0 < 0.41.0`\n\n## Remediation\n\nUpgrade to nvm 0.41.0 or later.\n\n### Workarounds\n\nUntil upgrading, check that `.nvmrc` does not start with `-` before running nvm in an untrusted project directory.","depth":"sunlit","depthScore":18,"depthScoreParts":{"impact":18.2,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}