Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
Патч
Опубликована

CVE-2026-118905

nvm_ls lets an untrusted version string inject sed commands, executing arbitrary commands with GNU sed

Публикация: 29.10.2026·Обновлена: 29.10.2026, 19:19·Europe/Moscow

Что произошло

Перевод ещё не доступен · оригинальное описание

Node Version Manager (nvm) is a POSIX-compliant shell function for managing multiple node.js versions. In versions 0.31.2 through 0.40.5, `nvm_ls` filters installed versions with a sed program that embeds the requested version pattern in a `\#...#` address, escaping `.` (and, since 0.40.4, `#`) but not backslash. A version string containing `#` (or `\#`) therefore closes the address early, and the rest of it is parsed as sed commands: with GNU sed, the `e` command runs a shell command as the user; with BSD sed, the `w` and `r` commands write and read files. This is reachable whenever an attacker-influenced version string is passed to `nvm use`, `nvm which`, `nvm ls`, `nvm version`, `nvm run`, or `nvm exec`, or to `nvm-exec` via `NODE_VERSION`, and at least one version is installed. nvm's own `.nvmrc` parser strips comments, so a bare `nvm use` is not affected; however, the bash `cdnvm` and zsh `load-nvmrc` auto-switch hooks documented in the README read `.nvmrc` as-is and pass it to `nvm ls` and `nvm version`, so a user with one of those hooks installed runs the attacker's command just by changing into a directory under a malicious `.nvmrc`; scripts that run `nvm use "$(cat .nvmrc)"` are affected the same way. Version 0.40.6 passes any version pattern containing `#` or a newline through the `.nvmrc` content parser first, so no `#` reaches the sed program.

Что это значит

Недоверенные данные могут попасть в команду операционной системы. Оцените доступность уязвимого интерфейса и права сервиса.

Что делать

Сформировано автоматически из полей источников и общих шаблонов
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Upgrade to nvm 0.40.6 or later.

3. Временные меры

Until upgrading, do not pass untrusted version strings to nvm, and use nvm's own `.nvmrc` handling (a bare `nvm use`) instead of reading `.nvmrc` yourself, including in shell auto-switch hooks.

4. Проверьте следы эксплуатации

Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

nvm-sh / nvm

{
  "status": "affected",
  "version": "0.31.2",
  "lessThan": "0.40.6",
  "versionType": "semver"
}

CVSS: оценки и векторы

CVSS 4.0 · cve7.1
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяактивное
VC · Конфиденциальность уязвимой системывысокое
VI · Целостность уязвимой системывысокое
VA · Доступность уязвимой системывысокое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
CVSS 3.1 · cve7
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакивысокая
PR · Привилегиине нужны
UI · Участие пользователятребуется
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое
CVSS 4.0 · 7ffcee3d-2c14-4c3e-b844-86c6a321a1587.1
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
AT · Условия атакинужны условия
PR · Привилегиине нужны
UI · Участие пользователяактивное
VC · Конфиденциальность уязвимой системывысокое
VI · Целостность уязвимой системывысокое
VA · Доступность уязвимой системывысокое
SC · Конфиденциальность связанной системынет
SI · Целостность связанной системынет
SA · Доступность связанной системынет
E · Eзначение X; см. спецификацию CVSS
CR · CRзначение X; см. спецификацию CVSS
IR · IRзначение X; см. спецификацию CVSS
AR · ARзначение X; см. спецификацию CVSS
MAV · MAVзначение X; см. спецификацию CVSS
MAC · MACзначение X; см. спецификацию CVSS
MAT · MATзначение X; см. спецификацию CVSS
MPR · MPRзначение X; см. спецификацию CVSS
MUI · MUIзначение X; см. спецификацию CVSS
MVC · MVCзначение X; см. спецификацию CVSS
MVI · MVIзначение X; см. спецификацию CVSS
MVA · MVAзначение X; см. спецификацию CVSS
MSC · MSCзначение X; см. спецификацию CVSS
MSI · MSIзначение X; см. спецификацию CVSS
MSA · MSAзначение X; см. спецификацию CVSS
S · Область воздействиязначение X; см. спецификацию CVSS
AU · AUзначение X; см. спецификацию CVSS
R · Rзначение X; см. спецификацию CVSS
V · Vзначение X; см. спецификацию CVSS
RE · REзначение X; см. спецификацию CVSS
U · Uзначение X; см. спецификацию CVSS
CVSS 3.1 · 7ffcee3d-2c14-4c3e-b844-86c6a321a1587
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакивысокая
PR · Привилегиине нужны
UI · Участие пользователятребуется
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое

Классы CWE

Источники и ссылки

Происхождение полей
{
  "cwes": [
    "cve",
    "nvd"
  ],
  "epss": {
    "source": "epss",
    "received_at": "2026-10-30T13:59:35.249099+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-29T05:30:43.959452+00:00"
  },
  "scores": [
    "cve",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-29T05:30:43.959452+00:00"
  },
  "affected": [
    "cve"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-29T05:30:43.959452+00:00"
  },
  "solutions": [
    "cve"
  ],
  "percentile": {
    "source": "epss",
    "received_at": "2026-10-30T13:59:35.249099+00:00"
  },
  "references": [
    "cve",
    "nvd"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-29T05:30:43.959452+00:00"
  },
  "workarounds": [
    "cve"
  ],
  "configurations": []
}

Хронология записи

  1. Данные обновлены30.10.2026, 17:00
  2. Данные обновлены29.10.2026, 09:33
  3. Появились сведения об исправлении29.10.2026, 08:30

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-94185
nvm alias resolution follows `..` and discloses files outside $NVM_DIR/alias
nvm-sh / nvm
Средний6.7
0,22 %
21.09.2026
CVE-2026-15921
nvm path traversal via a malicious mirror's LTS codename writes outside the alias directory
nvm-sh / nvm
Средний2.1
0,26 %
PoCПатч
16.07.2026
CVE-2026-10796
nvm executes commands from a malicious Node.js mirror's version strings
nvm-sh / nvm
Критический7.5
5 %
PoCПатч
04.06.2026
CVE-2026-1665
Command Injection in nvm via NVM_AUTH_HEADER in wget code path
nvm-sh / nvm
Средний5.4
0,78 %
Патч
30.01.2026