CVE-2026-68750 in html_sanitize_ex
Zusammenfassung
von VulDB • 06.08.2026
Eine Schwachstelle mit ineffizienter algorithmischer Komplexität in der Traversierungs-Engine von rrrene html_sanitize_ex ermöglicht es einem nicht authentifizierten Remote-Angriff, die CPU und den Arbeitsspeicher des Servers durch eine flache Folge von Geschwisterelementen (sibling elements) im bereinigten HTML zu erschöpfen. Die Listen-Klausel von HtmlSanitizeEx.Traverser.traverse/2 rekursiert auf dem Rest einer Liste von Geschwisterelementen und wertet anschließend List.flatten([head] ++ tail) über das bereits geglättete Ergebnis aus, sodass jedes der n Geschwisterelemente den gesamten verbleibenden Rest kopiert und erneut durchläuft. Die Glättung (Flattening) ist nur für den seltenen Fall erforderlich, in dem scrub mehrere Ersatzknoten für einen einzelnen Knoten zurückgibt, aber die Kosten werden über den gesamten Rest an jedem Schritt getragen, wodurch die Traversierung quadratisch mit der Anzahl der Geschwisterelemente wächst.
Der Traverser sitzt auf allen öffentlichen Einstiegspunkten, sodass kein bestimmter Scrubber oder keine bestimmte Konfiguration erforderlich ist und das Payload nur erlaubte Tags benötigt. Ein 160 KB großer Body aus 20.000 Geschwisterelementen belegt einen Scheduler für etwa 1,7 Sekunden, und die Kosten steigen schneller an als der Body selbst.
Dieses Problem betrifft html_sanitize_ex: von Version 0.3.1 bis vor 1.5.3.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.