CVE-2023-46136: Hochriskante Werkzeug-Schwachstelle erfordert sofortiges Update auf Version 3.0.1
Eine schwerwiegende Sicherheitslücke in der weit verbreiteten Python-Bibliothek Werkzeug erlaubt Angreifern, Server durch Denial-of-Service (DoS) lahmzulegen. Das Hochrisiko-CVE (CVE-2023-46136) betrifft alle Versionen von Werkzeug ab 0.9.0 bis einschließlich 3.0.0. Die Schwachstelle tritt auf, wenn der Server multipart/form-data mit einem großen Datenteil verarbeitet, der ein CR/LF-Zeichen am Anfang enthält. Dies führt zu einem extrem hohen Ressourcenverbrauch und kann Anwendungen zum Absturz bringen. Die Pallets-Projekt-Maintainer haben das Problem in der soeben veröffentlichten Version 3.0.1 behoben.
Die Behebung ist jedoch keine einfache Patch-Installation. Es handelt sich um einen Major-Version-Sprung von 2.0.2 auf 3.0.1, der mit signifikanten Änderungen an der API einhergeht. Entwickler müssen damit rechnen, dass die Signatur mehrerer Utilities geändert wurde, was potenziell Code-Anpassungen in ihren Anwendungen erfordert. Dies stellt Teams vor die komplexe Aufgabe, ein kritisches Sicherheitsupdate gegen mögliche Kompatibilitätsbrüche abzuwägen. Die Lücke ist in der Standardkonfiguration von Flask und anderen Frameworks, die auf Werkzeug aufbauen, aktiv.
Die Dringlichkeit ist hoch, da die Schwachstelle öffentlich dokumentiert ist und ein einfacher Exploit-Skript ausreicht, um ungeschützte Server anzugreifen. Organisationen, die automatisierte Vulnerability-Scanner wie Sentry nutzen, erhalten bereits automatische Tickets mit der Aufforderung zur sofortigen Prüfung und Aktualisierung. Die Gefahr betrifft Tausende von Python-Webanwendungen in Produktion. Entwickler sollten umgehend ihre `requirements.txt` oder `pyproject.toml`-Dateien überprüfen und ein Upgrade planen, wobei sie die mitgelieferten Breaking Changes sorgfältig testen müssen.