CVE-2026-44898
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Mistune przed wersją 3.2.1 zawiera podatność Cross-Site Scripting (XSS) w funkcji render_toc_ul(). Wartości id i text są wstawiane do znaczników <a> bez kodowania HTML, co pozwala atakującemu na wstrzyknięcie dowolnego kodu HTML, w tym <script>, poprzez spreparowany nagłówek.
Ocena ryzyka
Atakujący może wykonać dowolny skrypt w przeglądarce ofiary, co może prowadzić do kradzieży sesji, przekierowań lub innych szkodliwych działań.
Rekomendacja
Zaleca się aktualizację biblioteki Mistune do wersji 3.2.1 lub nowszej.
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-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).
Oryginalny opis (angielski, źródło NVD)
Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a <ul> table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href="#<id>") and the text value (used as the visible link label) are inserted into <a> tags via a plain Python format string — with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href="#..." attribute context, injecting arbitrary HTML tags including <script> blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.

