Certified Cloud Developer


Seit meinem Einstieg in die Softwareentwicklung in den 80er-Jahren habe ich mich kontinuierlich in der jeweils aktuellen Technologie bewegt: von Assembler über C++ und Lisp/Common Lisp in den 1980er-Jahren, gefolgt von Java und Python in den 1990er-Jahren, später C# und .NET. Seit 2024 widme ich mich verstärkt wieder der Softwareentwicklung, nun im Kontext von KI-gestützten Systemen.

Als Anthropic-Certified Claude Developer setze ich moderne KI-Entwicklungsmethoden produktiv ein: Aufgaben, die früher Wochen an Entwicklungszeit beansprucht hätten, lassen sich heute in Stunden umsetzen. Aktuelles Beispiel ist Kontor, eine von mir entwickelte Handelsoberfläche mit Claude-API-Anbindung und einem eigenständigen Trader-Agent für KI-gestützte Marktanalyse, inklusive eines öffentlichen Wirtschaftskalenders mit allen Terminen.

Engineering is a Passion


Als System-Engineer (MCITP, CCP-V und AI Fluency & Claude Expert) betreue ich Netzwerkinfrastrukturen, führe Planungen durch, schule Mitarbeiter und führe Migrationen von Netzwerk, Server- als auch Client Infrastrukturen bis zum mittleren Enterprise Umfeld durch. Mein Aufgabengebiet umfasste der IT Support von mittelständischen Unternehmen als auch die Umsetzung von Projekten in Server und Clientnetzwerken unter den Betriebssystemen Microsoft, Mac OS und Linux resp. den Hypervisoren VMware, Hyper V und Citrix.

Mein Knowhow und Wissen sammelte ich in Projekten im Bereich öffentlicher und privater Auftraggeber.

 

Brotli-Lücke: Remote Code Execution in Node.js und Python

Blog · 25.10.2026
BLG-1511-ch-de

Im C-Decoder für Brotli steckt eine kritische Lücke mit 9,2 von 10 Punkten (CVSS 4.0). Ein präparierter Datenstrom kann zu Absturz, Speicherleck oder Codeausführung führen. Betroffen sind Node.js, Python-Clients und viele Programme mit eigener Decoder-Kopie. Ein Update der Pakete genügt nicht, laufende Prozesse und Container müssen neu gestartet beziehungsweise neu gebaut werden.

Inhalt 7 Abschnitte
  1. Das Wichtigste in Kürze
  2. Brotli-Decoder: Was im Code schiefläuft
  3. Wer von der Brotli-Lücke betroffen ist
  4. Python und andere Sprachen
  5. Einordnung: Was das für Admins in der Schweiz heisst
  6. Fazit
  7. Änderungshistorie
Brotli-Lücke: Remote Code Execution in Node.js und Python: Titelbild

Der Brotli-Decoder hat eine Lücke mit 9,2 von 10 Punkten (CVSS 4.0). Sie betrifft Node.js, Python und viele weitere Programme.

Das Wichtigste in Kürze

  • Die Lücke CVE-2026-111497 steckt in Googles C-Decoder für Brotli. Betroffen sind die Versionen 1.0.3 bis 1.2.0. Ein präparierter Datenstrom kann Absturz, Speicherleck oder Codeausführung auslösen.
  • Ein Update allein reicht nicht. Laufende Prozesse behalten den alten Decoder bis zum Neustart. Container brauchen ein neues Image auf gepatchter Basis.
  • Schon der Abruf einer fremden Seite kann genügen. Node-fetch und viele Python-Clients entpacken Brotli-Antworten von selbst.
  • Scanner fanden die Lücke anfangs nicht zuverlässig. Prüfe die Versionen deshalb von Hand.

Brotli-Decoder: Was im Code schiefläuft

Die Quelle datiert die Meldung auf den 25. Oktober 2026. Ein früheres Erstveröffentlichungsdatum oder ein Aktualisierungsdatum nennt sie nicht.

Ein Brotli-Strom besteht aus Blöcken. Der Decoder wechselt beim Lesen zwischen Blocktypen. Die Funktion DecodeBlockTypeAndLength() in c/dec/decode.c gab bisher nur einen einfachen Wahrheitswert zurück. Aufrufer konnten dadurch einen kaputten Strom nicht von einem unterscheiden, der nur mehr Daten brauchte. Auf dem schnellen Pfad wurde der Rückgabewert sogar ganz ignoriert.

Dabei nutzt ein präparierter Strom einen Blockwechsel, der nicht möglich ist. Der Decoder deutet das als Wunsch nach mehr Eingabe. Er hängt weitere Angreifer-Bytes an einen internen Puffer von acht Byte. So schreibt er über dessen Ende hinaus. Der Überlauf beschädigt benachbarte Decoder-Daten. Daraus kann ein Speicherleck oder Codeausführung entstehen.

Die Behebung liegt im Google-Repository als Commit 0ed4268, dazu 50a9b70, b418fa8 und da98063. Der Decoder meldet nun den Formatfehler BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH (−17). Eingestuft ist die Lücke als CWE-252 und CWE-787. GitHub bewertet sie mit 9,2 (kritisch), Node.js mit hoch. Die Details stehen auf der Meldeseite zu Broccoli2Shell.

Kennzahl Wert Bedeutung
Betroffene Versionen 1.0.3 bis 1.2.0 Alle Programme mit diesem C-Decoder prüfen
Bewertung 9,2 (CVSS 4.0) Kritisch laut GitHub, hoch laut Node.js
Fehlercode im Fix −17 Der Decoder bricht jetzt mit einem Formatfehler ab
Schwachstellentyp CWE-252, CWE-787 Ungeprüfter Rückgabewert und Schreiben ausserhalb des Puffers

Wer von der Brotli-Lücke betroffen ist

Du bist gefährdet, wenn dein Code oder eine Bibliothek Brotli-Daten entpackt, die jemand anderes kontrolliert. Das kommt häufiger vor, als man denkt. HTTP-Clients entpacken Brotli-Antworten oft von selbst.

Die Quelle nennt diese Wege:

  • Node.js: Das eingebaute fetch() entpackt Antworten mit Content-Encoding: br automatisch.
  • Python: requests, urllib3 und aiohttp tun das, sobald ein Brotli-Paket installiert ist.
  • Express 5.0.0 bis 5.3.0 und body-parser 2.0.0 bis 2.3.0 entpacken Brotli-Anfragekörper, etwa in raw() und json().
  • Direkte Aufrufe wie zlib.brotliDecompress*(), createBrotliDecompress() und brotli.decompress() sowie Bibliotheken, die diese nutzen.

Jeder Server, mit dem dein System spricht, kann die Nutzlast liefern. Typische Wege sind Webhooks, Link-Vorschauen, Crawler und Funktionen wie "Import von URL". Ein reiner node:http-Server entpackt Körper nicht selbst.

Express und body-parser enthalten den Fehler nicht. Sie sind nur Zugangswege. Deshalb hilft ein Update dieser Pakete nicht. Node.js bringt eine eigene Brotli-Kopie mit. Die System-Bibliothek spielt dort keine Rolle. Entscheidend ist allein die Node.js-Version.

Python und andere Sprachen

Die PyPI-Pakete Brotli und brotlicffi kompilieren denselben C-Decoder. Dein Code muss sie nicht importieren. Sind sie installiert, nutzen die genannten Clients sie von selbst.

Dabei lohnt ein Blick auf die Scanner. Bei der Veröffentlichung meldeten pip-audit, Dependabot und Safety die betroffenen PyPI-Versionen nicht zuverlässig. Der CVE-Eintrag nannte das Google-Repository, nicht die PyPI-Pakete. GitHub führt inzwischen beide Pakete auf (PYSEC-2026-4322 und PYSEC-2026-4323). Prüfe trotzdem von Hand. Stammen deine Bindungen von der Linux-Distribution, etwa python3-brotli, kommt der Fix über deren Sicherheitsupdates.

Nicht jede Implementierung ist betroffen:

  • Die Ports in Java, JavaScript und C# erreichen den Fehler nicht. Sie werden zum Beispiel von pdf.js, iText und HtmlUnit genutzt.
  • Der Go-Port (andybalholm/brotli) hatte denselben Logikfehler. Er hätte nur einen Absturz verursacht und wurde am 23. Oktober behoben.
  • Rusts brotli-decompressor fängt den Fall ab und meldet einen Fehler.
  • Codeausführung ist nur im C-Decoder möglich.

Zudem liefern viele Projekte eine private Kopie des C-Decoders mit. Ein Distributions-Update repariert diese nicht. Jedes Projekt muss seine Kopie selbst aktualisieren.

Einordnung: Was das für Admins in der Schweiz heisst

Prüfe als Erstes, welche Dienste Brotli-Daten von aussen entpacken. Dazu zählen Node-Dienste mit fetch(), Python-Clients und Webhook-Empfänger. Aktualisiere Node.js auf eine gepatchte Version und stelle die Brotli-Pakete in Python auf eine korrigierte Fassung. Starte danach alle betroffenen Prozesse neu. Bei Containern baust du das Image auf gepatchter Basis neu und rollst es aus. Das Update der Pakete allein schützt nicht. Verlasse dich nicht auf Scanner, sondern prüfe Versionen und mitgelieferte Kopien selbst. Eine Frist nennt die Quelle nicht. Weil ein Angreifer nur Daten senden muss, ist Eile sinnvoll. Kosten nennt die Quelle nicht. Der Aufwand liegt in Test, Neustart und Neubau.

Fazit

Die Lücke im Brotli-Decoder ist kritisch und betrifft Node.js, Python und viele weitere Programme. Das Update allein genügt nicht. Starte Prozesse neu und baue Container neu. Zusätzliche Hinweise findest du in der Beschreibung zu Broccoli2Shell und in einem verlinkten Beitrag auf X. Der nächste Schritt ist eine Inventur deiner Dienste mit Brotli-Zugriff.

Quellen: Hacker News. Stand: 25. Oktober 2026.

Geschrieben von der Redaktion · Freigegeben von · So arbeitet die Redaktion

Änderungshistorie

  • — Artikel veröffentlicht.