Перейти к содержимому
Noroxi
CVE.org (no NVD analysis yet)· CNA GitHub_M

CVE-2026-102277: brace-expansion: Quadratic-time expansion of the `{a},b}` rewrite causes CPU denial of service

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 21/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,42% (FIRST EPSS).
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
  • Исправленная версия: azl3 python-tensorboard 2.16.2-6 on Azure Linux 3.0 Release Notes.

Пока низкий приоритет. Обновитесь до azl3 python-tensorboard 2.16.2-6 on Azure Linux 3.0 Release Notes или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.21, 2.1.7, 3.0.9, and 5.0.12, the expand function handles untrusted {a},b}-shaped patterns with many trailing closing braces by restarting its scan once for each trailing closing brace. The successive full-input rescans with linear working-string growth cause quadratic CPU time and memory pressure that can block the Node.js event loop. The process eventually recovers, making the impact a recoverable CPU denial of service. This issue is fixed in versions 1.1.21, 2.1.7, 3.0.9, and 5.0.12.

СредняяCVSS 5.3 · v3.1—Эксплойта нет Есть исправление
Опубликовано
28 сент. 2026 г.
Обновлено
30 сент. 2026 г.
EPSS
0,4 % · 37-й процентиль

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

JSON

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

21

Наблюдать

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

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

Решение CISA SSVC

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

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

Оценка CNA и NVD

NVD
—
CNA · GitHub_M
5,3
NVD ещё не выставил свою оценку; показана оценка CNA.

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

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2026-102277

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

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

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

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

—

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

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

  • juliangruber brace-expansion

    • >= 4.0.0, < 5.0.12, >= 3.0.0, < 3.0.9, >= 2.0.0, < 2.1.7, < 1.1.21затронута

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:8nodejsдо 1:24.22.1-1.module_el8.10.0+4331+0683c9c11:24.22.1-1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8nodejs-develдо 1:24.22.1-1.module_el8.10.0+4331+0683c9c11:24.22.1-1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8nodejs-docsдо 1:24.22.1-1.module_el8.10.0+4331+0683c9c11:24.22.1-1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8nodejs-full-i18nдо 1:24.22.1-1.module_el8.10.0+4331+0683c9c11:24.22.1-1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8nodejs-libsдо 1:24.22.1-1.module_el8.10.0+4331+0683c9c11:24.22.1-1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8nodejs-nodemonдо 3.1.14-2.module_el8.10.0+4250+09238ed43.1.14-2.module_el8.10.0+4250+09238ed4
AlmaLinux:8nodejs-packagingдо 2021.06-6.module_el8.10.0+4086+70facd4a2021.06-6.module_el8.10.0+4086+70facd4a
AlmaLinux:8nodejs-packaging-bundlerдо 2021.06-6.module_el8.10.0+4086+70facd4a2021.06-6.module_el8.10.0+4086+70facd4a
AlmaLinux:8npmдо 1:11.19.1-1.24.22.1.1.module_el8.10.0+4331+0683c9c11:11.19.1-1.24.22.1.1.module_el8.10.0+4331+0683c9c1
AlmaLinux:8v8-13.6-develдо 3:13.6.233.17-1.24.22.1.1.module_el8.10.0+4331+0683c9c13:13.6.233.17-1.24.22.1.1.module_el8.10.0+4331+0683c9c1
AlmaLinux:9nodejsдо 1:24.22.1-3.module_el9.8.0+333+788f30751:24.22.1-3.module_el9.8.0+333+788f3075
AlmaLinux:9nodejs-develдо 1:24.22.1-3.module_el9.8.0+333+788f30751:24.22.1-3.module_el9.8.0+333+788f3075
AlmaLinux:9nodejs-docsдо 1:24.22.1-3.module_el9.8.0+333+788f30751:24.22.1-3.module_el9.8.0+333+788f3075
AlmaLinux:9nodejs-full-i18nдо 1:24.22.1-3.module_el9.8.0+333+788f30751:24.22.1-3.module_el9.8.0+333+788f3075
AlmaLinux:9nodejs-libsдо 1:24.22.1-3.module_el9.8.0+333+788f30751:24.22.1-3.module_el9.8.0+333+788f3075
AlmaLinux:9nodejs-nodemonдо 3.1.14-3.module_el9.8.0+292+f4eaf8b23.1.14-3.module_el9.8.0+292+f4eaf8b2
AlmaLinux:9nodejs-packagingдо 2021.06-6.module_el9.7.0+209+ecf6523e2021.06-6.module_el9.7.0+209+ecf6523e
AlmaLinux:9nodejs-packaging-bundlerдо 2021.06-6.module_el9.7.0+209+ecf6523e2021.06-6.module_el9.7.0+209+ecf6523e
AlmaLinux:9npmдо 1:11.19.1-1.24.22.1.3.module_el9.8.0+333+788f30751:11.19.1-1.24.22.1.3.module_el9.8.0+333+788f3075
AlmaLinux:9v8-13.6-develдо 3:13.6.233.17-1.24.22.1.3.module_el9.8.0+333+788f30753:13.6.233.17-1.24.22.1.3.module_el9.8.0+333+788f3075
Debian:12node-brace-expansionс 0—
Debian:14node-brace-expansionдо 2.1.7+~1.1.2-12.1.7+~1.1.2-1
npmbrace-expansionс 2.0.0 · до 2.1.72.1.7
npmbrace-expansionс 3.0.0 · до 3.0.93.0.9

+41

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

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-4514929 мая 2026 г. · brace-expansion: Large numeric range defeats documented `max` DoS protection
    30Наблюдать
  • ← РаньшеCVE-2026-1314930 июн. 2026 г. · brace-expansion through 5.0.6 is vulnerable to denial of service.
    30Наблюдать
  • ← РаньшеCVE-2026-1425723 июл. 2026 г. · brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash
    30Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
azl3 python-tensorboard 2.16.2-6 on Azure Linux 3.0Release NotesMicrosoft (MSRC)
almalinux:nodejs1:24.22.1-1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-devel1:24.22.1-1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-docs1:24.22.1-1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-full-i18n1:24.22.1-1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-libs1:24.22.1-1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-nodemon3.1.14-2.module_el8.10.0+4250+09238ed4 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-packaging2021.06-6.module_el8.10.0+4086+70facd4a · AlmaLinux:8Реестр пакетов (OSV)
almalinux:nodejs-packaging-bundler2021.06-6.module_el8.10.0+4086+70facd4a · AlmaLinux:8Реестр пакетов (OSV)
almalinux:npm1:11.19.1-1.24.22.1.1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
almalinux:v8-13.6-devel3:13.6.233.17-1.24.22.1.1.module_el8.10.0+4331+0683c9c1 · AlmaLinux:8Реестр пакетов (OSV)
debian:node-brace-expansion2.1.7+~1.1.2-1 · Debian:14Реестр пакетов (OSV)
npm:brace-expansion1.1.21Реестр пакетов (OSV)
npm:brace-expansion2.1.7Реестр пакетов (OSV)
npm:brace-expansion3.0.9Реестр пакетов (OSV)
npm:brace-expansion5.0.12Реестр пакетов (OSV)
opensuse:agama-web-ui25+475.275dd4727-56.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
opensuse:pi-coding-agent1.0.0-1.1 · openSUSE:TumbleweedРеестр пакетов (OSV)
red hat:nodejs220:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-bin0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-devel0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-docs0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-full-i18n0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-libs0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-npm0:10.9.9-1.22.23.3.2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs22-npm-bin0:22.23.3-2.3.2.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs240:24.21.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs24-bin0:24.21.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs24-devel0:24.21.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)
red hat:nodejs24-docs0:24.21.0-1.2.hum1 · Red Hat:hummingbird:1Реестр пакетов (OSV)

+3

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

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

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

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

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

Хронология

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

  1. Публикация
  2. Исправление+1 дн.
  3. Сегодня8 нояб. 2026 г.+40 дн.
EPSS за 120 дней

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

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

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

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

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

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

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

  • CVE-2026-102276с разницей 0 дн.brace-expansion: DoS via uncontrolled recursion in parseCommaParts causing stack exhaustion
    30Наблюдать
  • CVE-2026-102278с разницей 0 дн.brace-expansion: DoS via uncontrolled recursion on nested brace groups causing stack exhaustion
    30Наблюдать
  • CVE-2026-69152с разницей 56 дн.brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
    30Наблюдать
  • CVE-2026-14257с разницей 67 дн.brace-expansion DoS via unbounded expansion length causing an out-of-memory process crash
    30Наблюдать
  • CVE-2026-13149с разницей 90 дн.brace-expansion through 5.0.6 is vulnerable to denial of service.
    30Наблюдать
  • CVE-2026-45149с разницей 122 дн.brace-expansion: Large numeric range defeats documented `max` DoS protection
    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:L

nvd-secondary

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

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

Ошибка в коде

Весь класс 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.

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

  1. Исправление✗ → ✓
  2. Эксплуатация SSVC— → none
  3. Зрелость эксплойта— → none

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

Источники

Все записи