Brotli-Lücke: Ein Node-Update allein reicht nicht

Die kritische Brotli-Lücke CVE-2026-111497 steckt nicht nur in Node.js, sondern auch in Python-Paketen, Bun, curl, Envoy und Istio. Gängige Scanner wie pip-audit und Dependabot schlagen bei den Python-Paketen bislang nicht an. Eine Checkliste für Betreiber.

Ein zusammengepresster Stapel Papierbögen platzt auf und verteilt sich über eine helle Fläche, in der Mitte fällt warmes Licht durch einen Spalt

Am 21. Oktober 2026 hat das Node.js-Projekt Sicherheitsupdates veröffentlicht, die eine kritische Lücke im Brotli-Decoder schließen. Wer seine Node-Server aktualisiert hat, könnte sich in Sicherheit wiegen. Das wäre verfrüht: Seit dem 23. Oktober zeigen Analysen von Qualys und Aikido, dass derselbe Fehler auch in Python-Paketen und weiterer verbreiteter Software steckt, und dass gängige Prüfwerkzeuge ihn dort bislang nicht melden.

Was hinter CVE-2026-111497 steckt

Brotli ist ein Kompressionsverfahren von Google, das Webserver und Browser häufig nutzen, erkennbar am HTTP-Header Content-Encoding: br. Die Lücke CVE-2026-111497 sitzt im Decoder, also in dem Teil, der komprimierte Daten wieder entpackt. Qualys beschreibt sie so: Ein präparierter Brotli-Datenstrom kann den Decoder dazu bringen, außerhalb des reservierten Speichers zu schreiben. Im schlimmsten Fall lässt sich darüber Code aus der Ferne ausführen. Die Bewertung liegt bei 9,2 von 10 Punkten nach CVSS 4.0, also kritisch.

Gefährdet sind laut Qualys vor allem Dienste, die Brotli-Daten aus nicht vertrauenswürdigen Quellen entpacken: HTTP-Clients und Proxys, die komprimierte Antworten annehmen, und Dienste, die hochgeladene komprimierte Dateien verarbeiten. Das betrifft also nicht nur Webserver, sondern auch jede Anwendung, die selbst externe Schnittstellen aufruft.

Welche Versionen die Lücke schließen

  • Node.js: 22.23.4, 24.22.1 und 26.12.1. Für 21.x, 23.x und 25.x gibt es keinen Fix mehr, 20.x und älter sind am Ende ihrer Laufzeit. Hier hilft nur der Wechsel auf eine unterstützte Linie.
  • Python: Das PyPI-Paket Brotli ab 1.2.1, brotlicffi ab 1.2.1.0.
  • Bun: 1.4.4.
  • curl/libcurl: Brotli-Abhängigkeit auf 1.2.1 oder einen gepatchten älteren Stand bringen.
  • Envoy und Istio: Envoy 1.40.0, 1.39.3, 1.38.6 oder 1.37.8, Istio 1.29.9, 1.30.6 oder 1.31.2.
  • Brotli selbst und Betriebssystempakete: Upstream 1.0.10, 1.1.1 oder 1.2.1, ansonsten die Sicherheitsupdates der Distribution.

Qualys bringt es auf den Punkt:

„Upgrading the runtime is the only complete fix.“

Offizielle Workarounds hat das Node.js-Projekt nicht veröffentlicht.

Heller Serverschrank in einem sauberen Rechenzentrum, ein Einschub mit blauen Statuslichtern ist herausgezogen

Die Scanner sehen die Python-Pakete nicht

Besonders heikel ist ein Hinweis von Aikido: Die Schwachstellendatenbanken ordnen die CVE bislang keinem der beiden PyPI-Pakete zu. Deshalb melden pip-audit, Dependabot und Safety die verwundbaren Versionen derzeit nicht. Wer sich allein auf grüne Haken in seiner Pipeline verlässt, übersieht die Lücke. Aikido empfiehlt, von Hand zu prüfen, und rät trotz fehlender Meldungen: „Treat it as urgent anyway.“

Hinzu kommt ein typischer Stolperstein: Ein Update auf dem Server allein genügt nicht. Container-Images enthalten ihre eigene Laufzeitumgebung und müssen neu gebaut werden, laufende Prozesse brauchen einen Neustart. Das kennen Sie vielleicht schon von PHP2Shell, den beiden kritischen PHP-Lücken aus diesem Monat.

Was das für Ihr Unternehmen heißt

  • Bestand aufnehmen: Prüfen Sie, wo Node.js, Python, Bun, curl, Envoy oder Istio laufen, auch in Containern, Build-Servern und internen Werkzeugen. Mit node --version und pip show brotli brotlicffi ist ein erster Blick schnell gemacht.
  • Updates einspielen und neu starten: Nach dem Update Lock-Dateien aktualisieren, Container-Images neu bauen, neu ausrollen und Dienste neu starten. Erst dann ist die Lücke wirklich zu.
  • Reihenfolge festlegen: Laut Aikido zuerst Dienste aktualisieren, die externe Server aufrufen oder komprimierte Anfragen annehmen.
  • Alte Node-Linien ablösen: Wer noch Node 20 oder eine ungerade Version wie 23 oder 25 betreibt, bekommt keinen Fix. Node 26 wird laut Qualys am 28. Oktober 2026 zur LTS-Version.
  • Scannern nicht blind vertrauen: Die Python-Pakete fehlen derzeit in den gängigen Datenbanken. Prüfen Sie die Versionen von Hand, bis die Werkzeuge nachziehen.
  • Notlösung bei Python: Laut Aikido entfernt das Deinstallieren von Brotli und brotlicffi den anfälligen Decoder, HTTP-Clients weichen dann auf gzip und deflate aus. Testen Sie das aber vorher.
  • Lieferkette im Blick behalten: Wie schnell eine Abhängigkeit zum Einfallstor wird, zeigte zuletzt auch der erneute Angriff auf LiteLLM.

Fazit

Die Brotli-Lücke ist ein gutes Beispiel dafür, dass ein Fehler in einer kleinen Bibliothek weit streut. Wer nur Node.js aktualisiert hat, ist womöglich an anderer Stelle noch offen, und die gewohnten Scanner helfen gerade nicht weiter. Eine Stunde Bestandsaufnahme lohnt sich deshalb. Wenn Sie Unterstützung beim Prüfen und Aktualisieren Ihrer Server und Anwendungen brauchen, sprechen Sie mich gern an.

Richard von Rüden
Über den Autor Richard von Rüden Senior Entwickler & AI Engineer

Seit über 15 Jahren entwickle ich Websites und Apps und beschäftige mich intensiv mit KI-Automatisierung sowie Datenschutz. In meinen Artikeln teile ich aktuelle News, fundiertes Fachwissen und Erfahrungen aus zahlreichen Projekten.

Kostenlose Beratung
← Zurück zu den News