CVE.futuretools
NVD NIST
CVE-2026-121749

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

CVSS 3.1Medium
4.6/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ОФИЦИАЛЬНЫЙ ПАТЧ НЕ ОПУБЛИКОВАН
Обновите nvm до версии 0.41.0, в которой шаблоны версий передаются в grep с параметром -e.

01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ

В Node Version Manager (nvm) шаблон версии передаётся команде grep без флага -e, что позволяет внедрить параметры поиска через файл .nvmrc. Это приводит к локальному чтению файлов и потенциальной утечке данных при формировании URL загрузки.

02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ

В функциях nvm_ls_remote_index_tab, nvm_remote_version и nvm_ls_cached шаблон версии подставляется прямым аргументом в grep. Если первая строка .nvmrc начинается с дефиса, GNU grep воспринимает её как опции (например, -R для рекурсивного поиска). При выполнении nvm install совпавшая строка подставляется в URL зеркала и выводится в терминал.

03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ

Утечка символов (0-9A-Za-z._+-) из локальных файлов, включая токены npm из связанного через symlink файла .npmrc, в терминал, а также в логи зеркала и прокси-серверов.

04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ

Точные диапазоны версий не зафиксированы в источниках

05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (2)

06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК

Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:

Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-121749: nvm passes the version pattern to grep without -e, letting a .nvmrc inject grep options and read local files. URL: https://cve.futuretools.ru/cve/CVE-2026-121749
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_121749,
  title = {{CVE-2026-121749: nvm passes the version pattern to grep without -e, letting a .nvmrc inject grep options and read local files}},
  author = {{CVE Futuretools}},
  year = {2026},
  howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-121749}},
  note = {Оперативный инженерный анализ киберугроз}
}