HIGH🇬🇧 English

CVE-2026-71488

Kwadratowa złożoność parsera Markdown w league/commonmark (ReDoS/CPU)

CVSS 7.5v3.1pub. 2026-08-06upd. 2026-08-07

Biblioteka league/commonmark w wersjach od 0.6.0 do 2.9.0 jest podatna na atak wyczerpania zasobów CPU poprzez specjalnie spreparowane dane Markdown. Atakujący może spowodować nieproporcjonalnie wysokie zużycie procesora, co skutkuje odmową usługi (DoS).

Pokaż oryginał (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.

🤖 Analiza AI
Jak działa

Podatność wynika z kwadratowej złożoności czasowej parsera podczas przetwarzania określonych linii Markdown. Kilka ścieżek parsowania wielokrotnie przeskanowuje rosnące fragmenty linii w celu przeliczania pozycji znaków na pozycje bajtowe. Dodatkowo rozszerzenie Autolink przy każdym wykrytym prefiksie przypominającym adres URL kopiuje i waliduje pozostałą część linii, co wielokrotnie zwiększa ilość wykonywanych operacji. W efekcie stosunkowo niewielkie żądanie zawierające odpowiednio skonstruowany tekst Markdown może wywołać nieproporcjonalne obciążenie procesora serwera.

Skutki

Atakujący nieposiadający żadnych uprawnień może doprowadzić do wyczerpania zasobów CPU serwera, skutkując odmową usługi (DoS) dla pozostałych użytkowników aplikacji.

Mitygacja

Należy zaktualizować bibliotekę league/commonmark do wersji 2.9.0, w której problem został naprawiony. Pakiet dostępny jest przez Composer — zalecane polecenie: composer update league/commonmark.

Kogo dotyczy

Biblioteka league/commonmark w wersjach od 0.6.0 do 2.8.x (podatność naprawiona w wersji 2.9.0).

Uwagi

Podatność dotyczy wyłącznie aplikacji, które umożliwiają użytkownikom zewnętrznym przesyłanie treści Markdown do konwersji po stronie serwera. Poprawka dostępna jest w ramach trzech commitów opublikowanych wraz z wydaniem 2.9.0.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje