Библиотека расширения фигурных скобок генерирует произвольные строки, содержащие общий префикс и суффикс. Начиная с версии 5.0.0 и до версии 5.0.6 опция max применялась слишком поздно. При расширении одного большого числового диапазона, например {1..10000000}, цикл генерации последовательности генерирует все 10 миллионов промежуточных элементов до того, как будет применен максимальный предел.
При max=10 вывод правильно ограничивается 10 элементами, но процесс по-прежнему выделяет ~505 МБ и тратит ~800 мс на построение полного промежуточного массива. Эта уязвимость исправлена в версии 5.0.6.
Показать оригинальное описание (EN)
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 v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Juliangruber Brace-Expansion
cpe:2.3:a:juliangruber:brace-expansion:*:*:*:*:*:node.js:*:*
|
5.0.0
|
5.0.6
|