minimatch - это минимальная утилита соответствия для преобразования глобовых выражений в объекты JavaScript RegExp. До версий 10.2.3, 9.0.7…
minimatch - это минимальная утилита соответствия для преобразования глобовых выражений в объекты 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.3, `matchOne()` выполняет безграничное рекурсивное обратное ручное отслеживание, когда глобусный рисунок содержит несколько несопряженных `**` сегментов (GLOBSTAR) и входной путь не совпадает. Сложность времени O(C(n, k)) -- биномиальная -- где n` - число сегментов пути, а `k` - число глобстаров. С k=11 и n=30 звонок в API по умолчанию `minimatch()` API останавливается примерно на 5 секунд. При k=13 он превышает 15 секунд. Никакой мемуализации или звонков не существует, чтобы связать такое поведение. Любое приложение, в котором злоумышленник может влиять на глобационный паттерн, переданный «минимatch()`, является уязвимым. Реалистичное покрытие атаки включает в себя инструменты сборки и бегунов задач, которые принимают поставляемые пользователем глобусные аргументы (ESLint, Webpack, конфигурация Rollup), многопользовательские системы, где один арендатор настраивает глобальные правила, которые работают в общих интерфейсах admin или Develop, которые принимают конфигурацию игнорирования или фильтра в виде глобусов, и конвейеры CI/CD, которые оценивают пользовательские файлы. Нападающий, который может разместить обработанный рисунок в любой из этих путей, может затормозить цикл событий Node.js на десятки секунд за призыв. Рисунок составляет 56 байтов для 5-секундного стойла и не требует аутентификации в контекстах, где ввод шаблона является частью функции. Вариантов 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5 и 3.1.3 исправить проблему.
Алгоритм в продукте обладает неэффективной вычислительной сложностью в наихудшем случае, которая может негативно сказываться на производительности системы и может быть намеренно вызвана злоумышленником с помощью специально сформированных манипуляций, гарантирующих достижение наихудшего случая.
https://cwe.mitre.org/data/definitions/407.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| node-minimatch | Отслеживается | |
| node-minimatch | Отслеживается | |
| node-minimatch | Отслеживается | |
| node-minimatch | Отслеживается | |
| minimatch | * | Отслеживается |