Eine Lücke in Googles Kompressionsbibliothek Brotli trifft weit mehr Software als zunächst gemeldet: neben Node.js auch Python-Pakete, Bun, den Proxy Envoy und Linux-Distributionen. Präparierte komprimierte Daten können Speicher überschreiben und im schlimmsten Fall fremden Code ausführen. Die Korrektur lag seit Februar im Quellcode, eine neue Version erschien erst am 21. Oktober.
Ein Klick · kostenlosDr. Web bei Google bevorzugenMarkieren Sie drweb.de als bevorzugte Quelle. Dann sehen Sie unsere Artikel öfter unter den Top-Meldungen.Jetzt hinzufügenGefunden haben die Lücke zwei Forscher von OpenAI Codex Security.[1] Laut OpenAI funktioniert der Angriff in beide Richtungen: Ein bösartiger Client kann einen ungepatchten Server übernehmen, ein bösartiger Server einen Client, der komprimierte Antworten anfordert und entpackt.[2] Die Sicherheitsfirma Aikido hat die Lücke deshalb von „Node2Shell“ in „HTTP2Shell“ umbenannt.[3]
Das Wichtigste in Kürze
- Die Lücke CVE-2026-111497 steckt in Brotli 1.0.3 bis 1.2.0.
- Abgesichert sind Brotli 1.0.10, 1.1.1 und 1.2.1 sowie Node.js 22.23.4, 24.22.1 und 26.12.1.
- In Python genügt ein installiertes Brotli-Paket, damit verbreitete HTTP-Bibliotheken Antworten selbst entpacken.
- Apache und Nginx entpacken Brotli in der Grundeinstellung nicht.
Wie funktioniert der Angriff über komprimierte Daten?

Brotli komprimiert Webinhalte, Browser und Server vereinbaren das über den Header Content-Encoding: br. Fordert ein Datenstrom beim Entpacken einen ungültigen Wechsel zwischen den Kodiertabellen an, mit denen Brotli die Daten verdichtet, wartet der Decoder auf weitere Daten, statt einen Formatfehler zu melden. Dabei hängt er neue Bytes an einen internen Puffer von acht Byte an und schreibt über dessen Ende hinaus.[1] Die Folgen reichen laut Node.js-Projekt vom Absturz bis zur Ausführung von Schadcode aus der Ferne.
Imperva berichtete am 22. Oktober, Code auf dem offiziellen Node.js-Image 24.22.0 ausgeführt zu haben, eingeschleust über eine komprimierte Antwort oder Anfrage, getestet mit dem Framework Express 5. Der Angriff brauchte mehrere Versuche, Version 24.22.1 wies dieselben Daten ab.[4] Im CVSS-4.0-System erreicht die Lücke 9,2 von 10 Punkten.[5] Im Katalog aktiv ausgenutzter Lücken der US-Behörde CISA fehlte sie am Samstagmorgen.
Warum trifft die Lücke so viele Programme?
Node.js, Bun, Envoy und die Python-Pakete Brotli und brotlicffi bringen jeweils eine eigene Kopie von Googles C-Code mit. Jedes Projekt muss deshalb selbst eine neue Version bauen. Den Fehler behob Google schon am 27. Februar, ohne die Änderung als Sicherheitskorrektur zu kennzeichnen.[6] Laut OpenAI erkannte damals niemand die Tragweite.[2]
In Python steckt das Risiko in einer indirekten Abhängigkeit. Ist Brotli installiert, entpacken urllib3 und damit requests sowie aiohttp Antworten von selbst. Brotli 1.2.1 und brotlicffi 1.2.1.0 erschienen am 22. und 23. Oktober, laut OpenSourceMalware ohne Hinweis auf die Lücke.[7] Brotli kam in den vergangenen 30 Tagen auf 82,8 Millionen Downloads.[8] Erst seit Freitagabend ordnet die Schwachstellendatenbank von GitHub die Lücke beiden Paketen zu.[5]
Fast acht Monate lag die Korrektur im Quellcode, ohne dass jemand eine Version daraus baute. Auf den Scanner zu warten, dauert hier zu lange.
Michael Dobler, Herausgeber Dr. Web
Abgesicherte Versionen, Stand 24. Oktober
Was sollten Betreiber von Servern und Anwendungen jetzt tun?
Envoy ist nur betroffen, wenn dort das Entpacken von Brotli eingeschaltet ist, abgesichert sind unter anderem 1.40.0 und 1.39.3.[9] Debian hat das Systempaket brotli für die Versionen 12 und 13 aktualisiert, die eigenen Node.js-Pakete führt die Schwachstellenliste von Debian noch als verwundbar.[10] Apache und Nginx entpacken Brotli laut Aikido in der Grundeinstellung nicht.[3]
- Versionen prüfen: Node.js aktualisieren, in Python
pip show Brotli brotlicffiin jeder Umgebung ausführen, auch auf Build-Servern und in Containern. - Images neu bauen: Ein Image mit alter Brotli-Version bleibt verwundbar, bis es neu gebaut und gestartet ist.
- Übergangsweise sperren: Aikido rät, Anfragen mit
Content-Encoding: bram Reverse Proxy abzuweisen.brnur ausAccept-Encodingzu streichen, genügt nicht, ein bösartiger Server schickt Brotli trotzdem.[3]
Weitere Hersteller arbeiten laut Aikido noch an Updates. Entdeckt hat OpenAI die Lücke bei Angriffstests, mit denen das Unternehmen seine Trainingsumgebung ohne Internetzugang absichert.[2]
Quellen
10 Quellen anzeigenQuellen ausblenden
- Node.jsWednesday, October 21, 2026 Security Releases
- OpenAI auf XMitteilung zur Brotli-Lücke (23. Oktober 2026)
- Aikido SecurityNode2Shell evolves to HTTP2Shell (23. Oktober 2026, aktualisiert 24. Oktober)
- ImpervaNode2Shell: From Brotli Data to Remote Code Execution
- GitHub Advisory DatabaseGHSA-9v8h-qqgm-4m35 zu CVE-2026-111497
- Google Brotli auf GitHubÄnderung 0ed4268 (27. Februar 2026) und Version 1.2.1 (21. Oktober 2026)
- OpenSourceMalwarePython Packages Vulnerable to Node2Shell
- PyPI StatsDownloads des Pakets Brotli (abgerufen am 24. Oktober 2026)
- EnvoyOut-of-Bounds Write in Brotli Decompressor
- Debian Security TrackerCVE-2026-111497 (abgerufen am 24. Oktober 2026)
Mehr Newshunger?
- Kritische PHP-Lücken: Hoster melden Angriffe vor dem Update um 16 Uhr
- PHP schließt am 21. Oktober um 16 Uhr zwei kritische Lücken
- Kompromittiertes LiteLLM 1.107.0 auf PyPI stahl Zugangsdaten und installierte eine Hintertür
- Railway: Angreifer lasen entschlüsselte Umgebungsvariablen von Kunden aus
- GitLab: Kritische Sicherheitslücke trifft alle Versionen seit 2014
- OpenAI trainiert seine stärksten KI-Modelle nur noch ohne Internetzugang
- Die Menschen, die das Internet stützen: Elf von 23 Kernprojekten hängen an ein oder zwei Personen
- WordPress-Performance: Welche Rolle das Hosting beim PageSpeed spielt
- Cybersecurity-Glossar: Welche 99 Begriffe sind 2026 Pflicht?
