CVE-2026-85999 in Soup Sieve
Zusammenfassung
von VulDB • 17.09.2026
Soup Sieve ist eine CSS-Selektor-Bibliothek, die für die Verwendung mit Beautiful Soup 4 entwickelt wurde. Vor Version 2.9 kürzt `selector_iter` in `src/soupsieve/css_parser.py` den rohen Selektor mit `RE_WS_END`, einem an das Ende verankerten WSC-Leerraum- und Kommentar-Ausdruck, der zusammen mit `search()` verwendet wird; dadurch führt die reguläre Ausdrucks-Engine bei jedem Startoffset einen gierigen Scan (greedy scan) erneut durch. Ein Angreifer kontrollierter, gültiger Selektor mit einer langen internen Leerraumsequenz oder ein Selektor, der eine lange CSS-Kommentarsequenz gefolgt von einem weiteren Token enthält, verursacht quadratische CPU-Arbeit vor der Tokenisierung. Vom Benutzer gesteuerte Selektoren können den Pfad über `soupsieve.compile()` und `BeautifulSoup.select()` erreichen, während Anwendungen, die nur fest codierte (hard-coded) Selektoren verwenden, nicht betroffen sind. Diese Root Cause ist getrennt von der IDENTIFIER- und VALUE-Rückverfolgbarkeitsanfälligkeit (backtracking vulnerability), da die Kosten bei `RE_WS_END.search` beim Kürzen auftreten und nicht beim Token-Matching. Der daraus resultierende CPU-Verbrauch kann den Python GIL blockieren, Worker erschöpfen und einen Dienst zum Stillstand bringen, ohne dass es zu Speicherkorruption oder Code-Ausführung kommt. Das Problem ist in Version 2.9 behoben.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.