CVE-2026-59927
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece Mistune (parser Markdown dla Pythona) przed wersją 3.3.0 umożliwia wywołanie nieskończonej rekurencji przez dwa pliki Markdown wzajemnie się dołączające. Powoduje to błąd RecursionError i awarię procesu renderowania.
Ocena ryzyka
Atakujący może celowo dostarczyć dwa wzajemnie odwołujące się pliki Markdown, powodując odmowę usługi (DoS) poprzez crash aplikacji wykorzystującej Mistune do renderowania treści.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę Mistune do wersji 3.3.0 lub nowszej, która zawiera poprawkę zapobiegającą wykrywaniu cyklicznych dołączeń.
Inne podatności w Mistune
Zobacz wszystkie- CVE-2026-76098Wysokie
Mistune w wersjach 3.3.0 do 3.3.2 jest podatny na atak DoS przez głęboko zagnieżdżone tokeny. Renderowanie HTML tworzy głęboko zagnieżdżone tokeny emfazy z gwiazdek, a rekurencyjne renderowanie może przekroczyć limit rekurencji Pythona, powodując awarię procesu parsowania. Poprawka w wersji 3.3.3.
- CVE-2026-59930Średnie
W bibliotece Mistune do parsowania Markdown w Pythonie wykryto podatność w pluginie toc oraz dyrektywie TableOfContents. Generują one identyfikatory nagłówków w postaci przewidywalnych wartości toc_N, bez slugifikacji tekstu nagłówka, co pozwala atakującemu na wstrzyknięcie własnego id="toc_N" i kolizję z wygenerowanymi kotwicami.
- CVE-2026-59929Średnie
Biblioteka Mistune do parsowania Markdown w Pythonie przed wersją 3.3.0 zawiera podatność polegającą na niedostatecznym filtrowaniu niebezpiecznych schematów URI w atrybutach href i src. Filtr safe_url blokuje tylko wybrane schematy (javascript:, vbscript:, file:, data:), ale pozwala na użycie starszych lub złożonych schematów, takich jak feed:, view-source:, jar:, livescript:, mocha:, ms-its:, mk: i res:, co może umożliwić wykonanie skryptów w przeglądarce ofiary.
- CVE-2026-59928Wysokie
Podatność w bibliotece Mistune do parsowania Markdown w Pythonie przed wersją 3.3.0 pozwala na atak DoS przez wyczerpanie CPU. Dokument Markdown zawierający wiele powtarzających się lub różnych definicji linków referencyjnych powoduje kwadratową złożoność obliczeniową w pliku src/mistune/block_parser.py oraz obsłudze słownika ref_links.
- CVE-2026-59926Średnie
W bibliotece Mistune dla Pythona wykryto podatność polegającą na braku odpowiedniego kodowania opcji :class: dyrektywy Admonition przed wstawieniem jej do atrybutu class w HTML. Umożliwia to wstrzykiwanie atrybutów i ataki XSS nawet przy włączonym trybie escape w HTMLRenderer. Problem został naprawiony w wersji 3.2.1.
- CVE-2026-59925Wysokie
Mistune to parser Markdown dla Pythona. Przed wersją 3.3.0, długie sekwencje poprawnie sformatowanych par podwójnych lub potrójnych gwiazdek wokół znaku powodują kwadratową złożoność obliczeniową w src/mistune/inline_parser.py, ponieważ parser skanuje do przodu w poszukiwaniu pasujących znaczników zamykających z każdego potencjalnego otwarcia, umożliwiając odmowę usługi przy domyślnym parsowaniu Mistune.
- CVE-2026-59924Średnie
Mistune to parser Markdown dla Pythona. Przed wersją 3.3.0 funkcja Include.parse() łączy i normalizuje ścieżki dołączane przez użytkownika bez weryfikacji, czy wynik pozostaje w zamierzonym katalogu Markdown, co pozwala na dostęp do plików poza tym katalogiem podczas przetwarzania plików Markdown za pomocą md.read().
- CVE-2026-59923Średnie
W bibliotece Mistune dla języka Python wykryto podatność polegającą na tym, że funkcja HTMLRenderer.safe_url() nie blokuje zakodowanych procentowo URI javascript. Umożliwia to atakującemu ominięcie zabezpieczeń URL w linkach lub obrazach Markdown i wykonanie skryptu w wyrenderowanym HTML.
- CVE-2026-59922Wysokie
Podatność w bibliotece Mistune (parser Markdown dla Pythona) przed wersją 3.3.0 powoduje kwadratową złożoność obliczeniową podczas przetwarzania sekwencji zamkniętych tyld, znaków równości lub daszków w pluginach przekreślenia, zaznaczenia i wstawiania. Atakujący może wykorzystać to do wyczerpania zasobów CPU (odmowa usługi).
- CVE-2026-49851Wysokie
Mistune to parser Markdown w Pythonie. Przed wersją 3.3.0 jest podatny na atak DoS polegający na wyczerpaniu CPU z powodu kwadratowej złożoności obliczeniowej w funkcji parse_link_text. Wprowadzenie wielu kolejnych znaków [ powoduje wielokrotne skanowanie wejścia, co prowadzi do nadmiernego obciążenia procesora.
Oryginalny opis (angielski, źródło NVD)
Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, the Include directive in src/mistune/directives/include.py detects only direct self-includes and not indirect cycles, allowing two markdown files that include each other to trigger unbounded recursion, raise RecursionError, and crash the rendering request. This issue is fixed in version 3.3.0.

