News
Stefan Kellenberger 4 Min. Lesezeit

Ein Baustein in vielen Programmen

Eine kritische Lücke steckt im Kompressionsverfahren Brotli, und Brotli steckt in Browsern, Servern, Laufzeitumgebungen und Programmen, die niemand damit in Verbindung bringt. Warum ein einziger Fehler auf drei Wegen geschlossen werden muss.

Brotli ist ein Kompressionsverfahren von Google. Webserver packen damit Seiten zusammen, Browser packen sie wieder aus, und viele weitere Programme nutzen es, um Daten kleiner zu machen. Kaum jemand weiss, dass es da ist. Genau das macht die Lücke, die seit dem 21. Oktober bekannt ist, so unübersichtlich.

Was die Lücke ist

Beim Auspacken eines präparierten Datenstroms schreibt der Brotli-Decoder über den Rand eines Speicherbereichs hinaus. Im besten Fall stürzt das Programm ab, im schlimmsten lässt sich fremder Code ausführen. Gefunden hat den Fehler ein Werkzeug von OpenAI, das Software automatisch nach Schwachstellen durchsucht. Google bewertet die Lücke mit 9,2 von 10.

Betroffen sind die Brotli-Versionen 1.0.3 bis 1.2.0. Behoben ist der Fehler in 1.0.10, 1.1.1 und 1.2.1. Angriffe sind bisher keine bekannt. Sicherheitsforscher von Imperva konnten aber in einer aktuellen Node.js-Version Code ausführen, und ein öffentlicher Angriffscode existiert seit dem 22. Oktober. Er bringt Programme bisher nur zum Absturz.

Warum ein Update nicht reicht

Bei einer Lücke in einem Programm gibt es ein Update. Bei einer Lücke in einem Baustein gibt es so viele Updates, wie es Programme gibt, die den Baustein enthalten. Und sie kommen auf drei verschiedenen Wegen.

Erster Weg: das Betriebssystem. Linux-Distributionen und Windows bringen Brotli als Systembibliothek mit, und deren Updates kommen mit den normalen Sicherheitsupdates. Auf unserem Server mit Ubuntu 22.04 war das am 25. Oktober der Fall. Die Versionsnummer lautet dort weiterhin 1.0.9, liegt also mitten im betroffenen Bereich. Ubuntu hat die Korrektur in die alte Version eingebaut. Wir haben das am Beispiel Ghostscript schon einmal beschrieben: Die Versionsnummer ist die falsche Prüfung.

Zweiter Weg: die Laufzeitumgebungen. Node.js, Python und .NET bringen ihre eigene Brotli-Kopie mit und brauchen deshalb eigene Updates. Node.js hat sie in den Versionen 22.23.4, 24.22.1 und 26.12.1 geliefert. Die Versionen 20, 23 und 25 bekommen keine Korrektur mehr. Python braucht das Paket Brotli in Version 1.2.1, .NET die Versionen 8.0.33, 9.0.22 oder 10.0.14. Die PHP-Erweiterung für Brotli ist seit dem 24. Oktober korrigiert. Wichtig dabei: Ein laufendes Programm nutzt die alte Kopie, bis es neu gestartet wird.

Dritter Weg: Programme mit eigener Kopie. Manche Software bringt alles mit, was sie braucht, auch Brotli. Für .NET schreibt Microsoft ausdrücklich, dass eine neuere Laufzeit auf dem Rechner die mitgelieferte Laufzeit einer solchen Anwendung nicht aktualisiert. Das kann nur der Hersteller. Auf der Liste der noch nicht korrigierten Programme stehen unter anderem die Datenbank DuckDB, Varianten der Packprogramme 7-Zip und p7zip sowie der Code, aus dem viele Hersteller ihre Firmware bauen.

Das wird nicht die letzte Lücke dieser Art sein

Brotli kommt eine Woche nach PHP2Shell, über die wir hier berichtet haben. Beide wurden mit Hilfe von KI gefunden. Der Chef von Cloudflare rechnet laut heise damit, dass das über Jahre so weitergeht: jede Woche eine neue schwere Lücke. Ob es so kommt, weiss niemand. Wer seine Updates aber heute nur einmal im Monat einspielt, sollte sich darauf einstellen, dass das nicht mehr reicht.

Was jetzt zu tun ist

Windows vollständig aktualisieren. In Windows Update unter «Erweiterte Optionen» die Einstellung «Updates für andere Microsoft-Produkte erhalten» einschalten. Dann kommt auch .NET mit.

Bei der Webagentur nachfragen. Läuft die Website, der Shop oder eine Schnittstelle auf Node.js oder Python? In welcher Version? Steht dort eine Version, die keine Korrekturen mehr bekommt, ist das der eigentliche Befund.

Beim Hersteller der Branchensoftware nachfragen. Gerade bei Programmen, die auf dem eigenen Server laufen: Steckt Brotli drin, und ist es korrigiert? Eine gute Antwort kommt in einem Satz.

Neu starten. Nach Updates an Laufzeitumgebungen die betroffenen Dienste neu starten. Sonst ist das Update installiert, aber nicht wirksam.

Update-Stand prüfen lassen

Newsletter

Hosting-Wissen direkt in Ihr Postfach.

1–2 Mails pro Monat: Sicherheitswarnungen wie zu wp2shell, neue Beiträge aus dem Wissens-Bereich, gelegentlich technische Notizen. Keine Werbeflut.

1–2 Mails pro Monat. Double-Opt-In, jederzeit abbestellbar. Keine Drittanbieter-Tracker. Mehr dazu in der Datenschutzerklärung.