Kurz gesagt: Erst PHP, jetzt Node.js. Am 21.10.2026 hat das Node.js-Projekt Updates für zehn Sicherheitslücken veröffentlicht. Die schwerste, CVE-2026-111497, steckt im Brotli-Entpacker, den Node.js mitbringt. Manipulierte Daten können den Speicher des Servers beschädigen, im schlimmsten Fall läuft danach fremder Code. Betroffen sind Node.js 22, 24 und 26. Stand 25.10.2026: Wer Node.js einsetzt, aktualisiert auf v22.23.4, v24.22.1 oder v26.12.1.

Was passiert ist

Node.js ist die Umgebung, mit der JavaScript auf Servern läuft. Viele Online-Shops, Kundenportale, CRM-Systeme, Schnittstellen (APIs), Chat-Bots und interne Werkzeuge bauen darauf auf, oft ohne dass die Fachabteilung davon weiß.

Brotli ist ein Verfahren, mit dem Webserver und Browser Daten zusammenpacken, damit sie schneller übertragen werden. Node.js bringt dafür einen eigenen Entpacker im Modul node:zlib mit. Laut Node.js meldete dieser Entpacker einen bestimmten Formatfehler fälschlich als „brauche mehr Daten“ statt als Fehler. Er hängte deshalb weitere Bytes an einen internen Puffer von nur acht Byte an und schrieb über dessen Ende hinaus. Fachleute nennen das einen Out-of-Bounds-Write: Daten landen in Speicher, der dafür nicht vorgesehen ist.

Die Folgen laut Node.js: ein Absturz des Dienstes, das Auslesen von Prozessspeicher oder die Ausführung fremden Codes aus der Ferne (Remote Code Execution). Node.js stuft die Lücke als „high“ ein. Gefunden haben sie Forscher von OpenAI Codex Security.

Warum „Node2Shell“

In sozialen Netzwerken kursiert für die Lücke der Name „Node2Shell“, in Anlehnung an PHP2Shell aus derselben Woche. „Shell“ steht für die Kommandozeile eines Servers, also volle Kontrolle. Node.js selbst nennt die Lücke nur bei ihrer CVE-Nummer. Eine CVE-Nummer ist die weltweit einheitliche Kennung einer Sicherheitslücke.

Wer betroffen ist

Betroffen sind die Versionsreihen Node.js 22, 24 und 26. Ältere Reihen wie Node.js 20 oder 18 bekommen keine Updates mehr. Node.js schreibt dazu, dass ausgelaufene Versionen bei jeder Sicherheitsmeldung als betroffen gelten.

Gefährlich wird es dort, wo Brotli-Daten von außen in den Entpacker gelangen. Zwei Beispiele:

  • Eingehende Anfragen: Das verbreitete Paket body-parser liest in Express-Anwendungen die Daten einer Anfrage ein. In Version 2, die mit Express 5 kommt, entpackt es Brotli-Daten automatisch, wenn der Absender sie so kennzeichnet. Ein Angreifer braucht dafür keinen Login.
  • Antworten fremder Server: Holt Ihre Anwendung Daten bei anderen Diensten ab, etwa per fetch bei Webhooks oder Schnittstellen von Partnern, entpackt Node.js auch diese Antworten. Ein manipulierter oder übernommener Gegenüber kann so schadhafte Daten schicken.

Die Sicherheitsmeldung von Node.js nennt keine bekannten Angriffe (Stand 25.10.2026). Erfahrungsgemäß suchen Angreifer nach einer Veröffentlichung schnell nach Systemen, die noch nicht aktualisiert sind.

Was das Update noch schließt

Das Update vom 21.10.2026 behebt neun weitere Lücken. Drei davon stuft Node.js ebenfalls als „high“ ein: Bei der Namensauflösung über dns.resolve konnten Namen mit einem unsichtbaren Steuerzeichen abgeschnitten werden (CVE-2026-105482). Zwei Fehler bei der Prüfung von TLS-Zertifikaten erlaubten es, dass ein Zertifikat für eine falsche IP-Adresse akzeptiert wird (CVE-2026-105483, CVE-2026-106069). TLS ist die Verschlüsselung, die etwa hinter https steht. Dazu kommen aktualisierte Bausteine wie OpenSSL, c-ares, Undici und SQLite sowie das Entfernen eines kompromittierten Zwischenzertifikats von eMudhra.

Was Sie jetzt tun

  1. Alle Node.js-Anwendungen erfassen. Dazu zählen auch Anwendungen, die eine Agentur oder ein Dienstleister für Sie betreibt: Shop, Kundenportal, Schnittstellen, Chat-Bots, interne Werkzeuge. Fragen Sie nach der Ausgabe von node -v auf jedem Server, in jedem Container und in der Build-Umgebung (CI), in der Software gebaut wird.
  2. Update einspielen oder bestätigen lassen. Sichere Fassungen sind Node.js v22.23.4, v24.22.1 und v26.12.1. Docker-Images müssen neu gebaut werden, ein Neustart reicht nicht. Wer Node.js über die Pakete seiner Linux-Fassung bezieht (etwa Debian oder Ubuntu), lässt sich bestätigen, dass der Fix für CVE-2026-111497 enthalten ist. Anwendungen auf Node.js 20 oder älter brauchen einen Umstieg auf eine unterstützte Reihe, das ist mehr als ein kleines Update und sollte jetzt eingeplant werden.
  3. Überbrücken, wenn es heute nicht klappt. Node.js nennt keine offizielle Ausweichlösung. Die Angriffsfläche lässt sich aber verkleinern: Der vorgeschaltete Webserver oder Proxy kann Anfragen mit gepacktem Inhalt (Kopfzeile Content-Encoding) ablehnen, und body-parser nimmt mit der Einstellung inflate: false keine gepackten Daten mehr an. Das ersetzt das Update nicht.
  4. Auf Spuren prüfen. Ein Update schließt die Lücke, sagt aber nicht, ob vorher jemand eingedrungen ist. Achten Sie auf ungeklärte Abstürze von Node.js-Prozessen in den Protokollen, auf Node.js-Prozesse, die eine Kommandozeile oder Programme wie curl und wget starten, und auf neue, unbekannte Dateien im Anwendungsordner.
  5. Zugangsdaten wechseln, wenn etwas auffällt. Node.js-Anwendungen halten Schlüssel für Datenbank, Zahlungsdienst oder Cloud oft im Speicher. Weil die Lücke das Auslesen von Speicher erlaubt, gelten diese Schlüssel auf einem auffälligen Server als bekannt. Wer unter NIS 2 fällt, gibt bei einem erheblichen Vorfall binnen 24 Stunden eine erste Meldung an das BSI ab, die ausführliche folgt binnen 72 Stunden.

Was der Fall zeigt

PHP2Shell und Node2Shell in einer Woche zeigen dasselbe Muster: Die Lücke sitzt nicht in der eigenen Anwendung, sondern in der Technik darunter. Wer nicht weiß, welche Laufzeitumgebung in welcher Version wo läuft, verliert in solchen Lagen Stunden mit Suchen. Eine Liste aller Anwendungen mit eingesetzter Technik und Verantwortlichen, eine Software-Stückliste (SBOM, eine Aufstellung aller Bausteine einer Software) und ein vereinbarter Update-Weg mit Dienstleistern lösen das.

Wie GermanAI Defense unterstützt

Wir bieten einen Node.js-Schnellcheck an: Wir erfassen mit Ihnen die Anwendungen, die auf Node.js laufen, prüfen Versionen auf Servern, in Containern und in der Build-Umgebung und suchen auf Wunsch nach Spuren eines Eindringens. Sie erhalten eine kurze Liste mit Befund und nächsten Schritten.

→ Mehr zu unseren Cybersecurity Services: Cybersecurity Services ansehen

Quellen: nodejs.org, Wednesday, October 21, 2026 Security Releases · nodejs.org, Release-Plan · body-parser, Dokumentation