„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-9769 betrifft die justhtml-Bibliothek in den Versionen bis 1.9.1. Sie ermöglicht einen Denial-of-Service-Angriff (DoS) durch unkontrollierte Rekursion. Angreifer können speziell manipulierte HTML-Dokumente mit tief verschachtelten DOM-Elementen einreichen, um einen RecursionError auszulösen und damit die Anwendung zum Absturz zu bringen.
Betroffene Systeme
Folgende Versionen der justhtml-Bibliothek sind vulnerabel:
- justhtml <= 1.9.1
- justhtml >= 1.10.0 (patched)
Das Risiko betrifft alle Systeme und Anwendungen, die justhtml zur HTML-Verarbeitung nutzen, insbesondere Web-Services und automatisierte Parser-Prozesse.
Technische Details
Die Vulnerabilität liegt in der TreeBuilder.finish()-Methode, die während der JustHTML()-Konstruktion automatisch aufgerufen wird. Diese Methode ruft bedingungslos _populate_selectedcontent() auf, welche rekursiv die DOM-Struktur durch wiederholte Aufrufe von _find_elements() und _find_element() traversiert.
Das kritische Problem: Es existiert keine Tiefenbegrenzung (Depth Limit) für die Rekursion. Ein Angreifer kann HTML mit etwa 1000 verschachtelten <div>-Tags (ca. 11 KB Größe) einreichen. Dies überschreitet das Standard-Rekursionslimit von CPython und erzeugt einen unbehandelten RecursionError.
Abhängig von der Exception-Handling-Implementierung der Host-Anwendung kann dies zu: Parsing-Fehlern, fehlgeschlagenen Requests oder zum Termination von Worker-Prozessen führen.
Empfohlene Massnahmen
- Upgrade: Sofortiges Update auf justhtml 1.10.0 oder höher durchführen
- Input-Validierung: HTML-Verschachtelungstiefe auf der Applikationsebene limitieren
- Exception-Handling: RecursionError explizit abfangen und sicher behandeln
- Ressourcen-Limits: Rekursionslimit systemweit erhöhen oder Worker-Timeout implementieren
Bewertung
CVSS-Score: 7.5 (High)
Angriffsvektor: Netzwerk (remoter Zugriff)
Patch-Status: Verfügbar ab Version 1.10.0
Die Lücke erfordert sofortige Aufmerksamkeit in produktiven Umgebungen.
„`