Podatności justhtml
11 znanych podatności CVE w justhtml, przetłumaczonych i ocenionych.
- CVE-2026-8445Krytyczne
justhtml w wersjach do 1.11.0 (poprawione w 1.12.0) nie wystarczająco escapuje znaki istotne dla HTML (nawiasy ostre) w węzłach tekstowych podczas konwersji do Markdown. Znaki takie jak < i > są zachowywane, co pozwala na wstrzyknięcie surowego HTML do wyniku Markdown, omijając sanityzację i potencjalnie prowadząc do XSS.
- CVE-2026-7808Krytyczne
justhtml przed wersją 1.16.0 zawiera wiele problemów z omijaniem sanityzacji HTML, które mogą pozwolić na przetrwanie aktywnej/niebezpiecznej treści (np. script lub style), potencjalnie prowadząc do XSS. Problemy dotyczą głównie zaawansowanego użycia, a nie domyślnej ścieżki JustHTML(..., sanitize=True).
- CVE-2026-5388Krytyczne
justhtml przed wersją 1.15.0 zawiera wiele problemów bezpieczeństwa w pomocniczych funkcjach sanityzacji URL, serializacji HTML, przepuszczaniu Markdown (html_passthrough=True) oraz w niestandardowych politykach sanityzacji. Atakujący może ominąć sanityzację i wstrzyknąć aktywny HTML i JavaScript, np. przez zakodowane javascript: URL, backslashowe względne URL, łamanie znaczników, reintrodukcję </textarea> przez Markdown lub zachowane tagi <style>/<meta http-equiv=refresh>/<base href>.
- CVE-2026-9769Wysokie
justhtml do wersji 1.9.1 (poprawione w 1.10.0) jest podatne na niekontrolowaną rekurencję prowadzącą do odmowy usługi. Podczas konstrukcji JustHTML(), TreeBuilder.finish() wywołuje _populate_selectedcontent(), która rekurencyjnie przechodzi drzewo DOM bez ograniczenia głębokości. Atakujący może dostarczyć głęboko zagnieżdżone elementy (np. ~1000 zagnieżdżonych <div>) i przekroczyć limit rekurencji CPython, powodując nieobsłużony RecursionError.
- CVE-2026-8630Średnie
justhtml przed wersją 1.12.0 (wersje <= 1.11.0) zawiera podatność na mutation XSS (mXSS) w serializacji elementów raw-text, takich jak <style> i <script>. Gdy drzewo DOM jest przetwarzane przez sanitize_dom() z niestandardową polityką, która zachowuje te elementy, tekst wewnątrz nich jest serializowany bez escapowania, co pozwala na wstrzyknięcie zamykającego tagu i dowolnego HTML. Domyślna polityka sanityzacji nie jest dotknięta, ponieważ usuwa zawartość style i script.
- CVE-2026-77088Średnie
justhtml w wersjach od 0.9.0 do 1.21.0 zawiera podatność na cross-site scripting w to_markdown(), gdzie inline code spans nie uwzględniają pustych linii jako granic bloków. Atakujący może wstrzyknąć puste linie do tekstu elementów code lub pre, aby przerwać inline span, co powoduje, że sanityzowany HTML jest emitowany bez escapowania i ponownie parsowany jako żywy Markdown przez zgodne renderery.
- CVE-2026-74793Średnie
justhtml przed wersją 3.11.0 zawiera podatność na cross-site scripting, gdzie domyślny sanitizer pomija usuwanie procedur obsługi zdarzeń w projekcjach selectedcontent. Atakujący mogą wstrzyknąć elementy SVG lub MathML z procedurami obsługi zdarzeń, które są klonowane i ponownie wstawiane do wyniku bez sanityzacji, umożliwiając ataki XSS typu stored lub reflected.
- CVE-2026-6827Średnie
justhtml przed wersją 1.17.0 zawiera wiele problemów bezpieczeństwa w sanityzacji, serializacji i programistycznym przetwarzaniu DOM. Przy niestandardowych politykach zachowujących obce przestrzenie nazw (SVG/MathML), niebezpieczna zawartość, taka jak punkty integracji HTML (SVG <foreignObject>, MathML <annotation-xml encoding="text/html">) oraz ładunki mXSS wykorzystujące różnice w parserach, może przetrwać sanityzację i stać się aktywnym HTML po ponownym parsowaniu. Dodatkowo, atrybuty SVG filter="url(...)" i zachowane <style> mogą pozostawić ładowanie zasobów przez CSS (@import, background-image:url()). Programistyczne węzły script/style/Comment mogą serializować się do aktywnego znacznika. Dodatkowe poprawki dotyczą mutacji pamięci podręcznej potoku sanityzacji oraz cykli rodzic-dziecko w DOM, które mogły powodować nieskończone pętle. Większość problemów dotyczy zaawansowanych lub niestandardowych konfiguracji, a nie domyślnej bezpiecznej ścieżki JustHTML(..., sanitize=True).
- CVE-2026-5751Średnie
justhtml w wersjach 1.13.0 i wcześniejszych zawiera podatność na parser-differential / mutation cross-site scripting (mXSS) przy użyciu niestandardowej polityki sanityzacji, która zachowuje obce przestrzenie nazw (np. drop_foreign_namespaces=False z dozwolonymi elementami SVG/MathML lub kontenerami raw-text, takimi jak <style>). Specjalnie spreparowane dane wejściowe mogą zostać zsanityzowane do znaczników, które wyglądają bezpiecznie, ale stają się niebezpieczne po ponownym parsowaniu przez przeglądarkę lub inny parser HTML, umożliwiając wstrzyknięcie znaczników. Domyślna bezpieczna konfiguracja (sanitize=True) nie jest dotknięta. Poprawiono w wersji 1.14.0.
- CVE-2026-5389Średnie
justhtml przed wersją 1.13.0 zawiera podatność na cross-site scripting w funkcji to_markdown() podczas serializacji kontrolowanej przez atakującego zawartości pre. Atakujący mogą umieścić backticki wewnątrz zsanityzowanych elementów pre, aby wyrwać się ze stałej długości bloków kodu, umożliwiając wykonanie surowego HTML, gdy wygenerowany Markdown jest renderowany przez renderery CommonMark lub GFM.
- CVE-2026-4671Wysokie
justhtml przed wersją 1.18.0 zawiera wiele problemów niskiej wagi dotyczących odmowy usługi w obsłudze selektorów CSS i linkifikacji. Aplikacje, które przetwarzają sterowane przez atakującego selektory, bardzo duże niezaufane dokumenty, konstruują drzewa DOM z niezaufanej struktury lub włączają linkifikację na niezaufanym tekście, mogą zużywać nadmierną ilość CPU lub pamięci. Problemy dotyczą tylko dostępności i nie pozwalają na wykonanie skryptów, ujawnienie danych ani ominięcie sanityzacji.

