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 = {Оперативный инженерный анализ киберугроз}
}