SandboxJS - это библиотека песочницы JavaScript. До 0.8.36 парсер @nyariv/sandboxjs содержит безграничный рекурсию в функции restOfExp и це…
SandboxJS - это библиотека песочницы JavaScript. До 0.8.36 парсер @nyariv/sandboxjs содержит безграничный рекурсию в функции restOfExp и цепочке вызовов lispify/lispifyExpr. Злоумышленник может сломать любой процесс Node.js, который анализирует ненадежный ввод, поставляя глубоко вложенные выражения (например, ~2000 вложенных скобок), вызывая RangeError: Максимальный размер стека вызовов превышен, что завершает процесс. Эта уязвимость зафиксирована в 0.8.36.
Программный продукт не обеспечивает надлежащего контроля за глубиной рекурсии, что приводит к избыточному потреблению ресурсов, таких как выделенная память или стек программы.
https://cwe.mitre.org/data/definitions/674.html →Открыть в коллекции CWE →Приложениям нередко требуется преобразовывать данные из/в формат данных (например, XML и YAML) с использованием анализатора. Злоумышленник может иметь возможность внедрять данные, способные оказывать негативное воздействие на анализатор в процессе обработки. Многие языки форматов данных допускают определение структур, схожих с макросами, способных упрощать создание сложных структур. Вкладывая эти структуры друг в друга и вызывая многократную подстановку данных, злоумышленник может вынудить анализатор потреблять больше ресурсов при обработке, что ведёт к избыточному потреблению памяти и нагрузке на процессор.
https://capec.mitre.org/data/definitions/230.html →Открыть в коллекции CAPEC →Злоумышленник внедряет чрезмерно большие полезные нагрузки сериализованных данных в анализатор в процессе обработки данных для оказания негативного воздействия на анализатор, такого как исчерпание системных ресурсов и выполнение произвольного кода.
https://capec.mitre.org/data/definitions/231.html →Открыть в коллекции CAPEC →