CVE-2026-27904

HIGH CVSS 3.1: 7,5 EPSS 0.03%
Обновлено 26 февраля 2026
minimatch
Параметр Значение
CVSS 7,5 (HIGH)
Тип уязвимости CWE-1333 (Атака через регулярные выражения (ReDoS))
Поставщик minimatch
Публичный эксплойт Нет

minimatch — это минимальная утилита сопоставления для преобразования выражений glob в объекты JavaScript RegExp. До версий 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5 и 3.1.4 вложенные extglob `*()` создают регулярные выражения с вложенными неограниченными кванторами (например, `(?:(?:a|b)*)*`), которые демонстрируют катастрофический возврат в В8. При 12-байтовом шаблоне `*(*(*(a|b)))` и 18-байтовом несовпадающем входном файле `minimatch()` зависает более чем на 7 секунд.

Добавление одного уровня вложенности или нескольких входных символов сокращает это время до минут. Это наиболее серьезный вывод: он запускается API-интерфейсом minimatch() по умолчанию без каких-либо специальных опций, а минимальный допустимый шаблон составляет всего 12 байт. Та же проблема в равной степени затрагивает extglob `+()`.

В версиях 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5 и 3.1.4 проблема устранена.

Показать оригинальное описание (EN)

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to version 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4, nested `*()` extglobs produce regexps with nested unbounded quantifiers (e.g. `(?:(?:a|b)*)*`), which exhibit catastrophic backtracking in V8. With a 12-byte pattern `*(*(*(a|b)))` and an 18-byte non-matching input, `minimatch()` stalls for over 7 seconds. Adding a single nesting level or a few input characters pushes this to minutes. This is the most severe finding: it is triggered by the default `minimatch()` API with no special options, and the minimum viable pattern is only 12 bytes. The same issue affects `+()` extglobs equally. Versions 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4 fix the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1