Node.js-Fix veröffentlicht · 21. Oktober 2026 · jetzt aktualisieren

Node2Shell: Node.js-Sicherheitsupdate, Oktober 2026. Ist Ihre Anwendung betroffen?

Am 21. Oktober 2026 hat Node.js die Versionen 22.23.4, 24.22.1 und 26.12.1 veröffentlicht. Sie beheben eine Lücke im eingebauten Brotli-Decoder (CVE-2026-111497), die einen Server zum Absturz bringen und Angreifern möglicherweise das Ausführen von Code erlauben kann. Geben Sie Ihre Domain ein, um zu sehen, ob sie auf Node.js läuft, und prüfen Sie darunter Ihre Version für eine genaue Antwort.

Der Check wird geladen …

Kostenlos · Ein normaler Seitenaufruf, kein Angriffsverkehr · Node.js zeigt seine Version nie nach außen, deshalb kommt die genaue Antwort aus dem Versions-Check unten. Zuletzt aktualisiert

Genaue Antwort

Fügen Sie Ihre Node.js-Version ein.

Führen Sie einen dieser Befehle auf Ihrem Server, in Ihrem Container oder auf Ihrem CI-Runner aus und fügen Sie die Ausgabe ein. Die Prüfung läuft in Ihrem Browser, an uns wird nichts gesendet.

Server oder Laptop
node --version
Container-Image
docker run --rm <image> node --version
Oder den Tag aus Ihrem Dockerfile einfügen
FROM node:22.23.3-alpine
Express / body-parser in Ihrer App
npm ls express body-parser
Bun
bun --version

Prüfen Sie jede Stelle, an der Node.js läuft: Produktionsserver, Container-Images, CI-Runner, Build- und Worker-Maschinen.

Einen ganzen Server oder ein Projekt prüfen

Eine Datei, keine Abhängigkeiten, läuft ab Node.js 16. Sie liest das Node.js oder Bun, das sie ausführt (auch Builds mit der Brotli-Bibliothek des Systems), Ihre Express- und body-parser-Versionen, Brotli-Aufrufe in Ihrem Code und die FROM-Zeilen Ihrer Dockerfiles, und gibt ein Ergebnis aus.

Herunterladen, lesen, dann im Projektordner ausführen
curl -fsSLO https://zybee.ai/node2shell-check.mjs
node node2shell-check.mjs
In einem Container-Image
docker run --rm -v "$PWD":/w -w /w <image> node node2shell-check.mjs
Für CI (Exit-Code 1 = Update nötig)
node node2shell-check.mjs --json

Nur lesend: Das Skript sendet nichts und startet keine Prozesse. Skript ansehen

Was passiert ist

Ein Speicherfehler im Brotli-Decoder von Node.js.

Node.js bringt die Kompressionsbibliothek Brotli mit. Fehlerhaft komprimierte Daten können den Decoder dazu bringen, außerhalb seines Speicherpuffers zu schreiben. Das kann den Prozess abstürzen lassen, Speicher preisgeben und Angreifern möglicherweise das Ausführen von Code erlauben. Vor dem Update vom 21. Oktober waren alle unterstützten Node.js-Linien betroffen. Die Lösung ist deshalb ein Node.js-Update, kein npm-Paket-Update.

  • Express 5 und body-parser 2.x entpacken Anfragen mit Content-Encoding: br automatisch, also kann jeder Besucher solche Daten senden. Ein reiner Node.js-HTTP-Server tut das nicht von sich aus.
  • fetch() (undici) entpackt Brotli-Antworten automatisch. Ein bösartiger oder kompromittierter Server erreicht Ihre App also über seine Antwort, typischerweise bei Webhooks und von Nutzern angegebenen URLs.
  • Jeder Code, der nicht vertrauenswürdige Daten an zlib.brotliDecompress oder createBrotliDecompress übergibt.
Fix veröffentlicht
21. Oktober 2026
Behobene Versionen
Node.js 26.12.1, 24.22.1, 22.23.4
Kein Fix
Node.js 25.x, 23.x, 20.x und älter (End of Life)
Bun
Betroffen vor 1.4.4
Schweregrad
Hoch (Einstufung von Node.js, eine Stufe unter kritisch)
Auswirkung
Absturz, Speicherleck, möglicherweise Codeausführung aus der Ferne
CVE-ID
CVE-2026-111497 („Node2Shell“)
Ausnutzung
Bis 22. Oktober 2026 keine Angriffe bekannt. Forscher meldeten Codeausführung auf einem unveränderten Node.js 24.22.0 unter Linux arm64, nicht bei jedem Versuch

Quelle: Aikidos Analyse des Node.js-Sicherheitsupdates. Pakete von Linux-Distributionen (Debian, Ubuntu, Fedora, RHEL, Alpine) nutzen unter Umständen die Brotli-Bibliothek des Systems. Prüfen Sie dann den Sicherheitshinweis Ihrer Distribution.

Was jetzt zu tun ist

Drei Schritte für Teams mit Node.js.

01

Jedes Node.js finden

Server, Container-Images, CI-Runner und Serverless-Funktionen. Führen Sie überall node --version aus und prüfen Sie die Ausgabe oben.

02

Aktualisieren und neu bauen

Wechseln Sie auf 22.23.4, 24.22.1, 26.12.1 oder neuer, von einer End-of-Life-Linie auf 24 oder 26. Bauen Sie Container-Images neu: Ein fest gepinnter Tag wie node:22.23.3-alpine bleibt betroffen. Laufende Prozesse neu starten.

03

Übergangslösung

Weisen Sie Anfragen mit Content-Encoding: br am Reverse Proxy, Load Balancer oder in einer Middleware ab. Das schützt nur eingehende Anfragen: Brotli-Antworten, die Ihre App von anderen Servern abruft, deckt es nicht ab.

Nach dem Update

Node.js ist eine Tür. Was steht sonst noch offen?

Der Zybee Exposure Report prüft, was Ihre Website und Anwendung dem Internet von außen zeigen: veraltete Software, offen liegende Schlüssel und Dateien, vergessene Admin-Seiten und fehlende Schutzmaßnahmen. Jeder Befund wird von einem Menschen geprüft, mit einer klaren Reihenfolge, was zuerst zu beheben ist.

Fragen

Node2Shell, beantwortet.

Was ist Node2Shell (CVE-2026-111497)?

Ein Schreibzugriff außerhalb des Speicherpuffers im Brotli-Decoder, den Node.js mitbringt, ausgelöst durch fehlerhaft komprimierte Daten. Er kann einen Node.js-Prozess abstürzen lassen, Speicher preisgeben und möglicherweise Codeausführung aus der Ferne erlauben. Node.js stuft die Lücke als hoch ein, eine Stufe unter kritisch. Der Fix erschien am 21. Oktober 2026.

Welche Node.js-Versionen beheben die Lücke?

Node.js 26.12.1, 24.22.1 und 22.23.4 sowie jede neuere Patch-Version dieser Linien. Node.js 25.x, 23.x, 20.x und älter haben ihr Lebensende erreicht und bekommen keinen Fix: Wechseln Sie auf 24 (LTS) oder 26. Bun ist ab 1.4.4 behoben.

Ich nutze kein Brotli. Bin ich betroffen?

Möglicherweise, ohne es zu wissen. Express 5 und body-parser 2.x entpacken Brotli-Anfragen automatisch, und fetch() entpackt Brotli-Antworten automatisch. Nur ein Node.js-Update behebt die Lücke vollständig.

Warum sieht der Check meine Node.js-Version nicht?

Node.js sendet seine Version nie. Express meldet nur „Express“, Next.js „Next.js“, Nuxt „Nuxt“. Der Domain-Check zeigt deshalb, ob Ihre Website auf Node.js läuft, und der Versions-Check sagt Ihnen anhand Ihres eigenen node --version, ob dieses Node.js den Fix hat.

Meine Website ist mit Next.js oder Nuxt gebaut. Ist sie betroffen?

Wenn ein Node.js-Server Ihre Seiten rendert oder Ihre API-Routen ausführt: ja, solange dieses Node.js nicht aktualisiert ist. Ein vollständig statischer Export auf einem CDN führt beim Seitenaufruf kein Node.js aus, Ihre Build-Maschinen aber schon.

Wir sind bei Vercel. Müssen wir etwas tun?

Vercel hat am 21. Oktober 2026 Firewall-Regeln eingeführt, die den Angriff in eingehenden Anfragen blockieren. Anfragen, die Ihre App mit fetch() an andere Server stellt, decken diese Regeln nicht ab. Stellen Sie deshalb sicher, dass Ihre Funktionen auf einer behobenen Node.js-Version laufen.

Wird Node2Shell schon ausgenutzt?

Bis zum 22. Oktober 2026 waren keine Angriffe bekannt. Ein öffentlicher Proof of Concept funktionierte nur gegen eine absichtlich geschwächte Testversion, aber Forscher meldeten Codeausführung auf einem unveränderten Node.js-24.22.0-Image unter Linux arm64. Aktualisieren Sie trotzdem.

Gibt es einen Workaround?

Der Sicherheitshinweis von Node.js nennt keinen. Anfragen mit Content-Encoding: br am Proxy oder in einer Middleware abzuweisen, schützt nur eingehende Anfragen, nicht die Brotli-Antworten, die Ihre App abruft.

Ist dieser Check für meine Website unbedenklich?

Ja. Wir rufen Ihre Startseite einmal ab, genau wie der Browser eines Besuchers, und lesen die Server-Header und Framework-Merkmale, die sie sendet. Wir senden keine komprimierten Daten und nichts, das die Lücke testet. Wiederholte Checks innerhalb von zehn Minuten nutzen das erste Ergebnis. Domain, Ergebnis und eine pseudonymisierte Form Ihrer IP-Adresse speichern wir 90 Tage, um Missbrauch zu verhindern. Der Versions-Check läuft nur in Ihrem Browser.

Quellen