XML::Parser версий до 2.47 для Perl имеет переполнение буфера кучи на единицу в st_serial_stack. В случае (stackptr == stacksize - 1) стек НЕ будет расширен. Затем новое значение будет записано в местоположении (++stackptr), которое равно размеру стека и, следовательно, находится сразу за пределами выделенного буфера.
Ошибку можно наблюдать при разборе XML-файла с очень глубокой вложенностью элементов.
Показать оригинальное описание (EN)
XML::Parser versions through 2.47 for Perl has an off-by-one heap buffer overflow in st_serial_stack. In the case (stackptr == stacksize - 1), the stack will NOT be expanded. Then the new value will be written at location (++stackptr), which equals stacksize and therefore falls just outside the allocated buffer. The bug can be observed when parsing an XML file with very deep element nesting
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Toddr Xml\
cpe:2.3:a:toddr:xml\:\:parser:*:*:*:*:*:perl:*:*
|
— |
2.48
|