Перейти к содержимому
Noroxi
CVE-2026-45149· NVD / CVE Program· CNA GitHub_M

brace-expansion: Large numeric range defeats documented `max` DoS protection

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. From 5.0.0 to before 5.0.6, the max option was being applied too late. When expanding a single large numeric range like {1..10000000}, the sequence generation loop generates all 10 million intermediate elements before the max limit is applied With max=10, the output is correctly limited to 10 items, but the process still allocates ~505 MB and spends ~800ms building the full intermediate array. This vulnerability is fixed in 5.0.6.

ВысокаяCVSS 7.5 · v3.1—Эксплойта нет Есть исправление
Опубликовано
29 мая 2026 г.
Обновлено
22 июл. 2026 г.
EPSS
0,4 % · 27-й процентиль
Следить за этой CVE

Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.

Инструменты для отчёта

JSON

Оценка срочности

30

Наблюдать

Пока низкий приоритет.

CVSS
30 / 40 · 7.5 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,4 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
7,5
CNA · GitHub_M
6,5
разница 1,0 балла

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Затронутые системы

ВендорПродукт
juliangruberbrace-expansion

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • juliangruber brace-expansion5.0.0 и новее · до 5.0.6

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • juliangruber brace-expansion

    • >= 5.0.0, < 5.0.6затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12node-brace-expansionвсе версии—
Debian:14node-brace-expansionдо 2.0.3+~1.1.2-32.0.3+~1.1.2-3
npmbrace-expansionс 5.0.0 · до 5.0.65.0.6
Red Hat:hummingbird:1cargoдо 0:1.96.0-1.hum10:1.96.0-1.hum1
Red Hat:hummingbird:1clangдо 0:21.1.8-1.1.hum10:21.1.8-1.1.hum1
Red Hat:hummingbird:1clang21до 0:21.1.8-6.hum10:21.1.8-6.hum1
Red Hat:hummingbird:1dotnet8.0до 0:8.0.127-1.hum10:8.0.127-1.hum1
Red Hat:hummingbird:1llvmдо 0:21.1.8-1.1.hum10:21.1.8-1.1.hum1
Red Hat:hummingbird:1llvm-docдо 0:21.1.8-1.1.hum10:21.1.8-1.1.hum1
Red Hat:hummingbird:1llvm21до 0:21.1.8-6.hum10:21.1.8-6.hum1
Red Hat:hummingbird:1llvm21-docдо 0:21.1.8-6.hum10:21.1.8-6.hum1
Red Hat:hummingbird:1nodejs20до 0:20.20.2-1.hum10:20.20.2-1.hum1
Red Hat:hummingbird:1nodejs20-binдо 0:20.20.2-1.hum10:20.20.2-1.hum1
Red Hat:hummingbird:1nodejs22до 0:22.22.0-1.3.hum10:22.22.0-1.3.hum1
Red Hat:hummingbird:1nodejs22-binдо 0:22.22.0-1.3.hum10:22.22.0-1.3.hum1
Red Hat:hummingbird:1nodejs24до 0:24.15.0-1.hum10:24.15.0-1.hum1
Red Hat:hummingbird:1nodejs24-binдо 0:24.15.0-1.hum10:24.15.0-1.hum1
Red Hat:hummingbird:1nodejs25до 0:25.9.0-1.1.hum10:25.9.0-1.1.hum1
Red Hat:hummingbird:1nodejs25-binдо 0:25.9.0-1.1.hum10:25.9.0-1.1.hum1
Red Hat:hummingbird:1nodejs26до 0:26.3.0-1.2.hum10:26.3.0-1.2.hum1
Red Hat:hummingbird:1nodejs26-binдо 0:26.3.0-1.2.hum10:26.3.0-1.2.hum1
Red Hat:hummingbird:1rustдо 0:1.96.0-1.hum10:1.96.0-1.hum1
Red Hat:hummingbird:1rust-debugger-commonдо 0:1.96.0-1.hum10:1.96.0-1.hum1
Red Hat:hummingbird:1yarnpkgдо 0:1.22.22-18.1.hum10:1.22.22-18.1.hum1

Тот же продукт

juliangruber: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-102278brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion
    30Наблюдать
  • CVE-2026-102276brace-expansion: DoS via uncontrolled recursion in parseCommaParts causing stack exhaustion
    30Наблюдать
  • CVE-2026-69152brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
    30Наблюдать
  • CVE-2026-14257brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash
    30Наблюдать
  • CVE-2026-13149brace-expansion through 5.0.6 is vulnerable to denial of service.
    30Наблюдать
  • CVE-2026-33750brace-expansion: Zero-step sequence causes process hang and memory exhaustion
    30Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
juliangruber brace-expansion5.0.6 · descriptionВендор (CNA)
debian:node-brace-expansion2.0.3+~1.1.2-3 · Debian:14Реестр пакетов (OSV)
npm:brace-expansion5.0.6Реестр пакетов (OSV)
red hat:cargo0:1.96.0-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:clang210:21.1.8-6.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:dotnet8.00:8.0.127-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:llvm210:21.1.8-6.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:llvm21-doc0:21.1.8-6.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs240:24.15.0-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs24-bin0:24.15.0-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs250:25.9.0-1.1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs260:26.3.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs26-bin0:26.3.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:rust0:1.96.0-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:rust-debugger-common0:1.96.0-1.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

  • CVE-2026-13149с разницей 32 дн.brace-expansion through 5.0.6 is vulnerable to denial of service.
    30Наблюдать
  • CVE-2026-14257с разницей 55 дн.brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash
    30Наблюдать
  • CVE-2026-33750с разницей 63 дн.brace-expansion: Zero-step sequence causes process hang and memory exhaustion
    30Наблюдать
  • CVE-2026-69152с разницей 66 дн.brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
    30Наблюдать
  • CVE-2026-102276с разницей 122 дн.brace-expansion: DoS via uncontrolled recursion in parseCommaParts causing stack exhaustion
    30Наблюдать
  • CVE-2026-102278с разницей 122 дн.brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion
    30Наблюдать

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
нет
Целостность
нет
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Сеть
Сложность атаки
Низкая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Нет
Влияние на целостность
Нет
Влияние на доступность
Высокое

Класс уязвимости (CWE)

CWE-400 · Uncontrolled Resource Consumption

Вектор CVSS

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

nvd-primary

Первопричина

Код, разбирающий вложенные структуры, не ограничивает глубину или размер. Небольшие входные данные могут привести к несоразмерной вычислительной нагрузке.

Ошибка в коде

Весь класс CWE-400

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

ts
function expand(node) {  return node.children.map(expand);}

Исправленный код

ts
const MAX_DEPTH = 32;function expand(node, depth = 0) {  if (depth > MAX_DEPTH) throw new Error("слишком глубоко");  return node.children.map((c) => expand(c, depth + 1));}

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Анализ Noroxi

Анализа Noroxi для этой записи пока нет

Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.

Мы используем этот продукт, нужна помощь

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи