CVE-2026-44899
ŚrednieCVSS 4.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Mistune, parser Markdown w Pythonie, przed wersją 3.2.1 zawiera podatność CSS Injection w pluginie Image directive. Walidacja opcji :width: i :height: za pomocą wyrażenia regularnego akceptującego tylko prefiks liczbowy pozwala na wstrzyknięcie dowolnego CSS do atrybutu style. Atakujący może wykorzystać to do defacementu lub kradzieży danych.
Ocena ryzyka
Ryzyko obejmuje możliwość modyfikacji wyglądu strony (defacement) oraz potencjalną kradzież danych poprzez wstrzyknięcie złośliwego CSS.
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, the Image directive plugin validates the :width: and :height: options with a regex compiled as _num_re = re.compile(r"^\d+(?:\.\d*)?"). When the validated value is not a plain integer, render_block_image() inserts it directly into a style="width:...;" or style="height:...;" attribute. Because the value was accepted by the prefix-only regex, any CSS after the leading digits reaches the style= attribute verbatim and without escaping. This vulnerability is fixed in 3.2.1.

