CVE-2026-59924
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
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().
Ocena ryzyka
Ryzyko polega na możliwości odczytu dowolnych plików poza docelowym katalogiem Markdown, co może prowadzić do ujawnienia poufnych danych lub konfiguracji systemu.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę Mistune do wersji 3.3.0 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
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-59927Średnie
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.
- 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-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, Include.parse() joins and normalizes user-supplied include paths without verifying that the result remains within the intended markdown directory, allowing crafted include paths to access files outside that directory when markdown files are processed using md.read(). This issue is fixed in version 3.3.0.

