LiquidJS - это движок шаблонов, совместимый с страницами Shopify / GitHub в чистом JavaScript. До версии 10.25.7 круглая ссылка на блок в %…
LiquidJS - это движок шаблонов, совместимый с страницами Shopify / GitHub в чистом JavaScript. До версии 10.25.7 круглая ссылка на блок в %} / {% блоке компоновки %} %} вызывает бесконечный рекурсивный цикл, потребляя всю доступную память (~4 ГБ) и срыв процесса Node.js с FATAL ERROR: JavaScript кучей из памяти. Это позволяет любому пользователю, который может отправить шаблон Liquid, выполнить атаку отказа в обслуживании. Этот вопрос был исправлен в версии 10.25.7.
Программный продукт не обеспечивает надлежащего контроля за глубиной рекурсии, что приводит к избыточному потреблению ресурсов, таких как выделенная память или стек программы.
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 →