Brotli-Lücke CVE-2026-111497 betrifft Node.js, PHP, Python und weitere Software
Eine Schwachstelle in Googles Brotli-Decoder betrifft nicht nur Node.js, sondern auch Bun, Python, PHP-Erweiterungen, Ruby, Go und weitere Software. Die als CVE-2026-111497 geführte Lücke steckt in Brotli 1.0.3 bis 1.2.0 und kann von nicht authentifizierten Angreifern über präparierte Brotli-Datenströme aus dem Netz ausgenutzt werden. Je nach Anwendung sind das Auslesen sensibler Speicherbereiche, ein Denial of Service oder die Ausführung beliebigen Schadcodes möglich.
Google korrigiert den Decoder mit Brotli 1.0.10, 1.1.1 und 1.2.1. Für Node.js stehen die bereinigten Versionen 26.12.1, 24.22.1 und 22.23.4 bereit. Python-Nutzer sollten Brotli 1.2.1 beziehungsweise brotlicffi 1.2.1.0 einsetzen. Auch Anwendungen, die Brotli über C-Code-Bindings einbinden, müssen geprüft werden, weil die Schwachstelle dort über mitgelieferte oder separat gebündelte Bibliotheken fortbestehen kann.
Für PHP hat der Hersteller seine offiziellen Windows-Pakete der Reihen 8.2 bis 8.5 neu gebaut. Die Pakete 8.5.12-1, 8.4.27-1, 8.3.36-1 und 8.2.35-1 enthalten Brotli 1.2.1. Relevant ist die Lücke dort vor allem, wenn die cURL-Erweiterung HTTP-Antworten automatisch dekomprimiert; diese Funktion ist standardmäßig deaktiviert, kann aber von Anwendungen und HTTP-Client-Bibliotheken aktiviert werden. Da sich die PHP-Versionsnummer selbst nicht ändert, lässt sich der neue Windows-Build am Suffix „-1“ und am auf der Downloadseite angegebenen SHA-256-Hash erkennen.
Betreiber sollten die eingesetzte Software auf Brotli-Versionen und eigene Kopien der Bibliothek prüfen und die jeweiligen Korrekturen zügig installieren. Für unterstützte .NET-Runtimes und SDKs verteilt Microsoft laut Heise ebenfalls Updates. Apache und Nginx gelten zumindest in den Standardkonfigurationen als weniger unmittelbar betroffen, weil sie Brotli dort nicht dekodieren. Die konkrete Konfiguration bleibt dennoch entscheidend.
Für Systeme, die noch nicht aktualisiert werden können, nennt OpenAI als vorübergehende Maßnahme die Deaktivierung der automatischen Brotli-Dekompression. Bei PHP bedeutet das, CURLOPT_ENCODING nicht zu setzen. In Guzzle kann die Option decode_content auf false gesetzt werden; damit wird allerdings auch die automatische Dekompression von gzip deaktiviert. Das bloße Entfernen von „br“ aus dem Accept-Encoding-Header reicht laut OpenAI nicht aus, weil ein Server Brotli weiterhin senden kann.
Für die Schwachstelle existieren inzwischen teilweise öffentlich verfügbare Proof-of-Concept-Exploits. Imperva konnte damit auf einem unveränderten Node.js-Build Code ausführen, benötigte dafür jedoch mehrere Versuche. Angriffe in freier Wildbahn sind nach den vorliegenden Angaben bislang nicht bekannt; auch die PHP-Mitteilung nennt keine Angriffe.
