CVE-2026-86430
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 40 - wyżej niż 40% wszystkich znanych CVE
Streszczenie
W bibliotece league/commonmark przed wersją 2.9.1 występuje wiele podatności na odmowę usługi w wykrywaniu bloków kodu, wyszukiwaniu etykiet linków referencyjnych oraz przetwarzaniu delimiterów emfazy, które wykonują ponadliniową pracę na spreparowanych danych wejściowych. Atakujący mogą wysyłać specjalnie spreparowany Markdown z długimi ciągami backticków, zagnieżdżonymi nawiasami lub sekwencjami delimiterów, co powoduje nadmierne zużycie CPU i uniemożliwia realizację prawidłowych żądań.
Ocena ryzyka
Atakujący może zablokować przetwarzanie żądań na serwerze, powodując niedostępność usługi.
Rekomendacja
Zaktualizuj league/commonmark do wersji 2.9.1 lub nowszej.
Inne podatności w league/commonmark
Zobacz wszystkie- CVE-2026-105830Wysokie
league/commonmark w wersjach od 2.0.0 przed 2.10.2 zawiera podatność na odmowę usługi o złożoności kwadratowej w rozszerzeniu GitHub Flavored Markdown Table, w metodzie TableStartParser::tryStart(). Nieuwierzytelnieni atakujący mogą przesłać duży akapit linii bez znaków pipe i nie zaczynających się od liter, wymuszając powtarzane skanowanie całego bufora i wyczerpując CPU procesu PHP.
- CVE-2026-105829Średnie
League CommonMark od wersji 1.3.0 do 2.10.2 zawiera podatność cross-site scripting, która pozwala użytkownikom publikującym Markdown obejść rozszerzenie DisallowedRawHtml poprzez zakończenie surowego HTML gołą, niedozwoloną nazwą znacznika. Atakujący może umieścić samotną linię <script lub <iframe, po której następuje blok dostarczający atrybuty takie jak src lub onload, wykonując trwałe skrypty w przeglądarkach odbiorców przy domyślnych ustawieniach GFM.
- CVE-2024-58382Wysokie
league/commonmark przed wersją 2.6.0 zawiera podatności o złożoności czasowej wielomianowej w parsowaniu Markdown, które pozwalają atakującym na wywołanie odmowy usługi. Atakujący mogą wysyłać specjalnie spreparowane wejścia Markdown zaprojektowane w celu wywołania najgorszego przypadku wydajności, a wysyłanie wielu żądań równolegle wyczerpuje zasoby CPU i procesy PHP-FPM.
- CVE-2026-86434Wysokie
Podatność na odmowę usługi w league/commonmark w wersjach >= 2.0.0 i < 2.8.4 (poprawiona w 2.9.0) w funkcji UniqueSlugNormalizer::normalize(). Przy kolizji slugów wyszukiwanie sufiksu zaczyna się od 1, co prowadzi do złożoności O(K^2) dla wielu nagłówków o tym samym slugu. Ścieżka jest osiągalna, gdy zarejestrowano HeadingPermalinkExtension, FootnoteExtension lub TableOfContentsExtension.
- CVE-2026-86431Wysokie
Podatność na cross-site scripting (XSS) w AttributesExtension biblioteki league/commonmark w wersjach >= 2.7.0 i < 2.9.1. Poprzedzenie nazwy atrybutu pojedynczym bajtem U+000C (np. {\x0Conclick="alert(1)"}) omija filtr 'on*' w AttributesHelper::filterAttributes(), ponieważ PHP-owa funkcja trim() nie usuwa U+000C. Atrybut jest zapisywany dosłownie w wyniku, gdzie przeglądarka interpretuje go jako prawdziwy handler zdarzeń. Ten sam prefiks omija również sprawdzenie allow_unsafe_links, umożliwiając użycie javascript: URI w atrybutach href/src nawet gdy allow_unsafe_links jest false.
- CVE-2026-86429Wysokie
Biblioteka league/commonmark w wersjach >= 1.5.0 i < 2.9.1 zawiera kwadratową złożoność parsowania w rozszerzeniach SmartPunctExtension i AttributesExtension. Gdy którekolwiek z tych rozszerzeń jest jawnie zarejestrowane w środowisku (nie są domyślnie włączone i są wykluczone ze standardowych konwerterów CommonMark i GitHub-Flavored Markdown), nieuwierzytelniony atakujący może wysłać małe, specjalnie spreparowane dokumenty Markdown, takie jak tekst z nieparzystymi cudzysłowami, ciągłe bloki atrybutów lub powtarzające się atrybuty klas, aby wywołać nieproporcjonalne zużycie CPU i spowodować odmowę usługi.
- CVE-2026-71488Wysokie
Podatność w bibliotece PHP league/commonmark (wersje od 0.6.0 do 2.9.0) powoduje kwadratową złożoność czasową podczas parsowania specjalnie spreparowanych linii Markdown. Atakujący może wysłać mały żądanie, które zużyje nieproporcjonalnie dużo CPU.
- CVE-2026-71478Średnie
league/commonmark to biblioteka PHP do parsowania i renderowania CommonMark Markdown. Od wersji 1.5.0 do 2.9.0 filtr niebezpiecznych linków href i src w AttributesExtension może zostać ominięty przez osadzenie bajtów kontrolnych, takich jak tabulator, powrót karetki, znak nowej linii lub wiodący znak kontrolny C0, w adresie URL javascript:, które przeglądarki odrzucają przed parsowaniem schematu, co powoduje, że przeglądarka nadal wykonuje skrypt nawet gdy filtr niebezpiecznych linków jest włączony. Problem naprawiono w wersji 2.9.0.
Oryginalny opis (angielski, źródło NVD)
league/commonmark versions before 2.9.1 contain multiple denial of service vulnerabilities in fenced code block detection, reference link label lookup, and emphasis delimiter processing that perform super-linear work on crafted input. Attackers can submit specially crafted Markdown with long backtick runs, nested brackets, or delimiter sequences to consume disproportionate CPU time and prevent legitimate requests from completing.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

