Node2Shell: Ist deine Node.js-Anwendung betroffen?
Eine kritische Lücke im Brotli-Dekompressor betrifft Web-Anwendungen und APIs, die mit Node.js laufen, dazu Bun und viele Python-Anwendungen. Ich prüfe, ob deine Anwendung betroffen ist, und spiele die Updates ein.
Node2Shell kurz erklärt.
Stand: November 2026
Kritische Lücke in Brotli
Am 21.10.2026 hat das Node.js-Projekt Updates für eine Lücke im mitgelieferten Brotli-Dekompressor veröffentlicht (CVE-2026-111497). Mit manipulierten, komprimierten Daten können Angreifer ohne Login Speicher beschädigen und unter Umständen eigenen Code ausführen.
Anwendungen mit Node.js
Web-Anwendungen, APIs, Portale und interne Tools, die dauerhaft mit Node.js auf einem Server laufen. Dazu kommen Bun und Python-Anwendungen, die das Brotli-Paket nutzen, oft ohne dass es jemand bewusst eingebunden hat.
Über komprimierte Daten
Entweder schickt ein Angreifer deiner Anwendung eine präparierte Anfrage, zum Beispiel an Express 5. Oder deine Anwendung ruft selbst eine fremde Adresse ab, etwa bei Webhooks oder Link-Vorschauen, und bekommt eine präparierte Antwort.
Diese Versionen sind korrigiert
| Software | Sicher ab |
|---|---|
| Node.js 26 | 26.12.1 |
| Node.js 24 | 24.22.1 |
| Node.js 22 | 22.23.4 |
| Bun | 1.4.4 |
| Python: brotli | 1.2.1 |
Node.js 20, 23, 25 oder älter?
Diese Versionen bekommen vom Node.js-Projekt keine Updates mehr, auch nicht für Node2Shell. Wenn deine Anwendung darauf läuft, braucht es eine Absicherung und einen Plan für das Upgrade.
Betreuung für Altsysteme →Quellen und Details: Cybersicherheitsagentur Baden-Württemberg, IT-Administrator
So findest du heraus, ob du handeln musst.
- 1
Finde heraus, wo Node.js läuft
Auf einem eigenen Server, in einem Docker-Container oder bei einer Plattform wie Vercel oder Netlify? Läuft Node.js nur beim Bauen einer statischen Website, ist das Risiko gering.
- 2
Schau nach der Version
Auf dem Server zeigt der Befehl node -v die Version. Bei Docker steht sie im Dockerfile, bei Plattformen in den Projekteinstellungen.
- 3
Vergleiche mit der Tabelle oben
Ist deine Version mindestens so neu wie die korrigierte Version deines Zweigs, ist die Lücke geschlossen. Steht dort 20, 23, 25 oder älter, gibt es kein Update mehr.
- 4
Unsicher? Frag nach.
Wenn du nicht weiterkommst oder die Anwendung von jemandem gebaut wurde, der nicht mehr erreichbar ist, schau ich mir das mit dir an.
Vom schnellen Update bis zur dauerhaften Betreuung.
Node2Shell-Check
Ich prüfe, welche Node.js-Version deine Anwendung nutzt, auch in Docker-Images und auf Plattformen, aktualisiere sie und teste danach, ob alles weiter funktioniert.
- ✓Version prüfen und aktualisieren
- ✓Docker-Images neu bauen
- ✓Funktionstest danach
Schutz bis zum Update
Wenn ein Update nicht sofort möglich ist, zum Beispiel bei einer alten Node.js-Version, sperre ich Brotli-komprimierte Anfragen schon vor deiner Anwendung.
- ✓Sperre am Reverse Proxy
- ✓Ausgehende Abrufe prüfen
- ✓Plan für das Upgrade
Laufende Betreuung
Ich halte Node.js und die Pakete deiner Anwendung aktuell und melde mich, wenn eine neue Lücke bekannt wird.
- ✓Regelmäßige Updates
- ✓Überwachung
- ✓Fester Ansprechpartner
Node2Shell ist nicht die letzte Lücke.
Updates, Backups, Zugänge, E-Mail: Mit ein paar Grundlagen bist du auch für die nächste Lücke gut aufgestellt.
Was du zu Node2Shell wissen willst.
Ich nutze kein Express. Bin ich trotzdem betroffen?
Möglicherweise. Das in Node.js eingebaute fetch() entpackt Brotli-komprimierte Antworten automatisch. Ruft deine Anwendung fremde Adressen ab, zum Beispiel für Webhooks, Link-Vorschauen oder Adressen, die Nutzer eingeben, kann sie angreifbar sein.
Meine Website ist mit Node.js gebaut. Muss ich etwas tun?
Wenn Node.js nur beim Bauen deiner Website läuft und am Ende fertige HTML-Dateien ausgeliefert werden, ist das Risiko gering. Betroffen sind vor allem Anwendungen, bei denen Node.js dauerhaft auf einem Server läuft und Anfragen beantwortet.
Meine Anwendung läuft bei Vercel oder Netlify. Kümmert sich der Anbieter?
Um die Laufzeitumgebung meistens ja. Prüf trotzdem, welche Node.js-Version in deinem Projekt eingestellt ist, und ob du eigene Pakete wie Express 5 oder body-parser 2 nutzt, die Brotli entpacken.
Wird die Lücke schon ausgenutzt?
Kurz nach der Veröffentlichung gab es noch keine bestätigten Angriffe. Es ist aber Beispielcode öffentlich, der zeigt, wie sich die Lücke ausnutzen lässt. Warte also nicht ab.
Ich nutze noch Node.js 20 oder älter. Was jetzt?
Node.js 20, 23, 25 und ältere Versionen bekommen vom Node.js-Projekt keine Updates mehr. Hier hilft nur der Umstieg auf eine aktuelle Version. Bis dahin lässt sich die Anwendung oft absichern, indem Brotli-komprimierte Anfragen vorher abgefangen werden. Dabei helfe ich dir bei der Betreuung von Legacy-Systemen.
Betrifft das auch Python?
Ja, wenn deine Anwendung das Paket brotli oder brotlicffi nutzt. Das passiert oft automatisch, weil verbreitete Bibliotheken wie requests oder httpx Brotli einbinden, sobald es installiert ist. Die korrigierte Version ist brotli 1.2.1.
Lass uns prüfen, ob deine Anwendung betroffen ist.
In einem kurzen Gespräch klären wir, wo deine Anwendung läuft und was zu tun ist. Kostenlos und unverbindlich.