SandboxJS — это библиотека песочницы JavaScript. До версии 0.8.36 парсер @nyariv/sandboxjs содержал неограниченную рекурсию в функции restOfExp и цепочке вызовов lispify/lispifyExpr. Злоумышленник может привести к сбою любого процесса Node.js, который анализирует ненадежные входные данные, предоставив глубоко вложенные выражения (например, ~ 2000 вложенных круглых скобок), что приведет к возникновению ошибки RangeError: превышен максимальный размер стека вызовов, что приведет к завершению процесса.
Эта уязвимость исправлена в версии 0.8.36.
Показать оригинальное описание (EN)
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.36, the @nyariv/sandboxjs parser contains unbounded recursion in the restOfExp function and the lispify/lispifyExpr call chain. An attacker can crash any Node.js process that parses untrusted input by supplying deeply nested expressions (e.g., ~2000 nested parentheses), causing a RangeError: Maximum call stack size exceeded that terminates the process. This vulnerability is fixed in 0.8.36.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Nyariv Sandboxjs
cpe:2.3:a:nyariv:sandboxjs:*:*:*:*:*:node.js:*:*
|
— |
0.8.36
|