Zum Inhalt springen

Node2Shell und Broccoli2Shell: Was Betriebe mit eigenen Servern jetzt tun müssen

7 Min. LesezeitGakko-IT Redaktion

Node2Shell und Broccoli2Shell sind zwei Namen für dieselbe kritische Sicherheitslücke im Brotli-Decoder von Google, offiziell CVE-2026-111497. Bekannt wurde die Node2Shell-Lücke am 21. Oktober 2026 durch Updates für Node.js, inzwischen ist klar, dass sie auch in Python, .NET, curl und vielen Linux-Servern steckt. Für die PCs und Notebooks im Büro ist das kein Grund zur Unruhe. Wer aber eine Webanwendung, ein Kundenportal oder eigene Server betreibt, sollte jetzt nachsehen, welche Versionen dort laufen.

Was hinter Node2Shell und Broccoli2Shell steckt

Brotli ist ein Kompressionsverfahren von Google, ähnlich wie gzip. Server und Browser machen damit Webseiten und Daten kleiner, bevor sie durchs Netz gehen. Auf der Gegenseite packt ein Decoder die Daten wieder aus. Genau in diesem Decoder sitzt der Fehler: Ein präparierter Datenstrom bringt ihn dazu, über den Rand eines kleinen Speicherbereichs hinaus zu schreiben. Im harmlosen Fall stürzt der Dienst ab. Im schlimmen Fall führt ein Angreifer eigenen Code auf dem Server aus.

Die Lücke ist mit 9,2 von 10 Punkten bewertet. Betroffen sind die Brotli-Versionen 1.0.3 bis 1.2.0, behoben ist sie in 1.0.10, 1.1.1 und 1.2.1. Der Angreifer braucht weder Passwort noch Zugang. Es reicht, dass ein verwundbares Programm seine komprimierten Daten auspackt. Das passiert auf zwei Wegen: wenn ein Server komprimierte Anfragen annimmt, und wenn eine Anwendung selbst Daten von fremden Servern abruft und die Antwort automatisch entpackt. Viele Programme tun das, ohne dass es je jemand eingestellt hat.

Beispielcode für Angriffe ist öffentlich. Eine Sicherheitsfirma hat damit auf einem unveränderten Node.js 24.22.0 eigenen Code ausgeführt, und die US-Behörde CISA führt die Lücke seit dem 27. Oktober in ihrer Liste aktiv ausgenutzter Schwachstellen. Je nach Quelle heißt sie auch HTTP2Shell oder Brotli2Shell. Gemeint ist immer CVE-2026-111497.

Welche Programme betroffen sind

Brotli ist eine Bibliothek, also ein Baustein, den andere Programme einbauen. Deshalb reicht die Liste weit über Node.js hinaus:
- Node.js: alle Versionen vor 26.12.1, 24.22.1 und 22.23.4. Für Node.js 25, 23, 20 und ältere Zweige gibt es keinen Patch mehr.
- Python: die Pakete Brotli und brotlicffi vor Version 1.2.1.
- .NET: Microsoft hat außerplanmäßige Updates für .NET 8, 9 und 10 veröffentlicht.
- Linux-Server: das Systempaket libbrotli, solange die Distribution den Fix noch nicht ausgeliefert hat.
- Weitere Software mit eigener Brotli-Kopie, etwa curl mit Brotli-Unterstützung, Bun, der Proxy Envoy und Erweiterungen für PHP und Ruby. Auch manche Firewalls, die Datenverkehr auspacken und prüfen, sind betroffen. Hier hilft nur die Sicherheitsmeldung des Herstellers.

Nicht betroffen sind Apache und nginx in ihrer Standardeinstellung, weil sie Brotli dort nicht auspacken. Ebenso wenig Programme, die einen eigenen Brotli-Decoder in Java, JavaScript, C# oder Rust mitbringen. Die übliche WordPress-Website auf einem Hosting-Paket ist deshalb meist nicht direkt betroffen. Für sie war PHP2Shell vom selben Tag das größere Thema.

Ist mein Betrieb von Node2Shell betroffen?

Das hängt davon ab, was Sie selbst betreiben. Gehen Sie die Fragen der Reihe nach durch:
- Läuft Ihre Website, Ihr Onlineshop oder ein Kundenportal mit Node.js? Das ist bei vielen neueren Webanwendungen so, zum Beispiel mit Next.js, Nuxt oder Express. Im Zweifel weiß es die Agentur, die die Seite gebaut hat.
- Haben Sie eigene Server, im Büro oder gemietet, mit Linux oder Docker?
- Laufen bei Ihnen Automatisierungen, Python-Skripte, Schnittstellen zu anderen Programmen oder KI-Agenten, die Daten aus dem Internet abrufen?
- Laufen auf einem Server Programme, die auf .NET aufbauen?

Lauten alle Antworten Nein, genügen die üblichen Updates auf PCs und Notebooks. Bei einem Ja lohnt der Blick auf die Versionen. Auf einem Server geht das mit wenigen Befehlen:
- Node.js: „node -v“ zeigt die Version. Geschützt sind 26.12.1, 24.22.1, 22.23.4 und neuer.
- Python: „pip show Brotli brotlicffi“ zeigt, ob die Pakete installiert sind und in welcher Version.
- Debian und Ubuntu: „dpkg -l | grep -i brotli“ listet das Systempaket.
- Red Hat, Alma und Rocky Linux: „rpm -qa | grep -i brotli“.

Eine Falle aus der Praxis: Node.js nennt auf Nachfrage auch eine eigene Brotli-Version („node -p process.versions.brotli“). Bei unserem Test meldete selbst das gepatchte Node.js 26.12.1 dort weiterhin 1.2.0. Maßgeblich ist bei Node.js deshalb die Node-Version, nicht diese Zahl. Ähnlich bei Linux: Die Distributionen spielen den Fix oft ein, ohne die Versionsnummer anzuheben. Die Sicherheitsmeldung Ihrer Distribution ist verlässlicher als die Nummer allein.

Was jetzt zu tun ist

Gehen Sie in dieser Reihenfolge vor:

  1. Zuerst die Dienste, die aus dem Internet erreichbar sind und Daten annehmen: Website, Shop, Portal, Schnittstellen.
  2. Dann alles, was selbst Daten von fremden Servern holt: Webhooks, Abgleiche mit anderen Programmen, Skripte und KI-Agenten.
  3. Node.js auf 26.12.1, 24.22.1 oder 22.23.4 bringen. Läuft noch Node.js 20, 23 oder 25, ist der Umstieg auf einen unterstützten Zweig fällig.
  4. Systempakete aktualisieren, Python-Pakete auf mindestens 1.2.1 anheben, die .NET-Laufzeit aktualisieren.
  5. Alle betroffenen Dienste neu starten. Ein installiertes Update schützt kein Programm, das noch mit dem alten Code im Arbeitsspeicher läuft.
  6. Docker-Images neu bauen und die Container neu ausrollen. Ein Container bringt seine eigene Brotli-Kopie mit und bekommt vom Update des Servers nichts mit.

Geht das Update nicht sofort, gibt es zwei Notlösungen. Am Reverse Proxy oder an der Firewall lassen sich Anfragen mit dem Kopfeintrag „Content-Encoding: br“ abweisen, also Anfragen, die Brotli-komprimierte Daten an den Server schicken. Und in Python-Umgebungen kann man die Brotli-Pakete vorübergehend entfernen, die Programme weichen dann auf gzip aus. Beides schließt nur einen Teil der Angriffswege und ersetzt das Update nicht.

Stand ein betroffener Dienst tagelang ungeschützt im Netz, prüfen Sie ihn auf Spuren: unbekannte Dateien, neue Benutzerkonten, ungewöhnliche Last oder Verbindungen zu fremden Adressen. Wie man so eine Lage geordnet abarbeitet, steht im IT-Notfallplan für kleine Unternehmen.

Warum die Lücke acht Monate offen lag

Bemerkenswert an Broccoli2Shell ist die Vorgeschichte. Die Korrektur stand schon seit Februar 2026 im öffentlichen Quellcode von Brotli, ohne neue Version und ohne Sicherheitshinweis. Erst acht Monate später, mit einem griffigen Namen und funktionierendem Angriffscode, kam sie bei der Software an, die sie brauchte.

Für kleine Betriebe heißt das: Die eigene Software ist nur so aktuell wie ihr ältester Baustein. Eine Webanwendung, die vor drei Jahren gebaut und seitdem nicht angefasst wurde, bringt Node.js, Bibliotheken und Container mit, um die sich niemand kümmert. Schon eine einfache Liste hilft: welche Server und Anwendungen es gibt, worauf sie laufen und wer sie pflegt. Wie das im Alltag aussieht, beschreibt Patch-Management im kleinen Betrieb.

Wenn Sie nicht wissen, ob in Ihrer Website oder Ihren Servern Node.js oder Brotli steckt, sehen wir gern nach, für Betriebe in Paderborn und OWL auch vor Ort. Mehr zu Bau und Pflege von Webanwendungen steht bei der Web-Entwicklung, einen Überblick zur Sicherheit im ganzen Betrieb gibt der kostenlose Sicherheits-Check.

  • Node2Shell
  • Broccoli2Shell
  • Sicherheitslücke
  • Updates
  • Server
Alle Beiträge

Node2Shell und Broccoli2Shell sind zwei Namen für dieselbe kritische Sicherheitslücke CVE-2026-111497 im Brotli-Decoder von Google. Ein präparierter, komprimierter Datenstrom kann damit Speicher überschreiben, im schlimmsten Fall führt ein Angreifer eigenen Code aus. Betroffen sind Brotli 1.0.3 bis 1.2.0 und alles, was diese Versionen einbaut, etwa Node.js, Python-Pakete, .NET und viele Linux-Server. Bekannt wurde die Lücke am 21. Oktober 2026.

Weiterlesen

Sie sind einen Anruf von entspannter IT entfernt

AnrufenWhatsApp