Artikel teilen

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ügen

Gefunden 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]

Auf einen Blick

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?

Ein leicht geöffnetes Paket mit hellblauem Inhalt, Schnur und Anhänger „Entpacken“
Brotli-Komprimierung: Browser und Server vereinbaren Datenkompression über Header Content-Encoding: br. Decoder akzeptiert ungültige Tabellenwechsel und puffert Bytes statt Fehler zu melden

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
Zitat teilen
Die Brotli-Lücke CVE-2026-111497 in Zahlen
Wie lange die Korrektur unveröffentlicht blieb und welche Software inzwischen abgesichert ist
9,2
von 10 Punkten im CVSS-4.0-System, Angriff ohne Anmeldung über das Netz
8 Byte
groß ist der interne Puffer, über dessen Ende der Decoder hinausschreibt
236 Tage
vergingen zwischen der Korrektur im Quellcode und der ersten abgesicherten Version
82,8 Mio.
Downloads in 30 Tagen zählt das Python-Paket Brotli auf PyPI

Abgesicherte Versionen, Stand 24. Oktober

Google BrotliC-Bibliothek
Verwundbar1.0.3 bis 1.2.0
Abgesichert1.0.10, 1.1.1, 1.2.1
Node.jsVersionsreihen 22, 24, 26
Verwundbaralle älteren Versionen dieser Reihen
Abgesichert22.23.4, 24.22.1, 26.12.1
PythonPyPI-Pakete
VerwundbarBrotli bis 1.2.0, brotlicffi 1.2.0.x
AbgesichertBrotli 1.2.1, brotlicffi 1.2.1.0
EnvoyProxy
Verwundbarwenn das Entpacken von Brotli eingeschaltet ist
Abgesichert1.40.0, 1.39.3, 1.38.6, 1.37.8
DebianSystempaket brotli
VerwundbarPakete ohne Sicherheitsupdate
AbgesichertDebian 12 und 13 über die Sicherheits-Paketquellen

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 brotlicffi in 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: br am Reverse Proxy abzuweisen. br nur aus Accept-Encoding zu 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
  1. Node.jsWednesday, October 21, 2026 Security Releases21.10.2026
  2. OpenAI auf XMitteilung zur Brotli-Lücke (23. Oktober 2026)
  3. Aikido SecurityNode2Shell evolves to HTTP2Shell (23. Oktober 2026, aktualisiert 24. Oktober)
  4. ImpervaNode2Shell: From Brotli Data to Remote Code Execution22.10.2026
  5. GitHub Advisory DatabaseGHSA-9v8h-qqgm-4m35 zu CVE-2026-111497
  6. Google Brotli auf GitHubÄnderung 0ed4268 (27. Februar 2026) und Version 1.2.1 (21. Oktober 2026)
  7. OpenSourceMalwarePython Packages Vulnerable to Node2Shell23.10.2026
  8. PyPI StatsDownloads des Pakets Brotli (abgerufen am 24. Oktober 2026)
  9. EnvoyOut-of-Bounds Write in Brotli Decompressor23.10.2026
  10. Debian Security TrackerCVE-2026-111497 (abgerufen am 24. Oktober 2026)

Mehr Newshunger?

4,4 22 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?