League/commonmark — это PHP-библиотека для анализа и рендеринга CommonMark Markdown. С версий 0.6.0 до 2.9.0 специально созданные строки Markdown могут привести к тому, что анализатор будет иметь квадратичную временную сложность при преобразовании, поскольку несколько путей анализа неоднократно повторно сканируют растущие части строки для перевода между позициями символов и позициями байтов, а расширение Autolink также может копировать и проверять оставшуюся строку в каждом URL-подобном префиксе, позволяя злоумышленнику, который может отправить Markdown для преобразования, потреблять непропорционально много процессорного времени при сравнительно небольшом запросе. Эта проблема исправлена в версии 2.9.0.
Показать оригинальное описание (EN)
league/commonmark is a PHP library for parsing and rendering CommonMark Markdown. From 0.6.0 until 2.9.0, specially crafted Markdown lines can cause the parser to have quadratic time complexity when converting, because several parsing paths repeatedly rescan growing portions of a line to translate between character positions and byte positions, and the Autolink extension can also copy and validate the remaining line at every URL-like prefix, allowing an attacker who can submit Markdown for conversion to consume disproportionate CPU time with a comparatively small request. This issue is fixed in 2.9.0.
Характеристики атаки
Последствия
Строка CVSS v3.1