fast-xml-parser позволяет пользователям обрабатывать XML из объекта JS без библиотек на основе C/C++ или обратных вызовов. С версий 5.9.3 до 5.10.1 src/xmlparser/OrderedObjParser.js обрабатывает несколько объявлений DOCTYPE в одном XML-документе и передает объекты каждого объявления через addInputEntities(). addInputEntities() сбрасывает maxTotalExpansions и maxExpandedLength каждый раз, когда он вызывается, позволяя дополнительным объявлениям DOCTYPE неоднократно сбрасывать настроенные ограничения расширения сущности во время одной операции синтаксического анализа. Созданный XML-документ может привести к чрезмерной загрузке ЦП, блокировке цикла событий, исчерпанию памяти и завершению процесса.
Эта проблема исправлена в версии 5.10.1.
Показать оригинальное описание (EN)
fast-xml-parser allows users to process XML from JS object without C/C++ based libraries or callbacks. From 5.9.3 until 5.10.1, src/xmlparser/OrderedObjParser.js processes multiple DOCTYPE declarations within a single XML document and passes each declaration's entities through addInputEntities(). addInputEntities() resets maxTotalExpansions and maxExpandedLength every time it is called, allowing additional DOCTYPE declarations to repeatedly reset the configured entity-expansion limits during one parse operation. A crafted XML document can then cause excessive CPU use, event-loop blocking, memory exhaustion, and process termination. This issue is fixed in version 5.10.1.
Характеристики атаки
Последствия
Строка CVSS v4.0