Künstliche Intelligenz, aktuell.
Direkt aus den Originalmeldungen.

Node2Shell: Lücke im Brotli-Decoder macht Node.js und weitere Software angreifbar

30. Oktober 2026, 16:06Quelle: SentinelOne
Node2Shell: Lücke im Brotli-Decoder macht Node.js und weitere Software angreifbar
Bild: SentinelOne

Eine Speicherfehler-Schwachstelle im Brotli-Decoder von Google, geführt als CVE-2026-111497 und mit dem Spitznamen Node2Shell versehen, kann zu einem Absturz, zur Offenlegung von Speicherinhalten oder zur Ausführung von Schadcode aus der Ferne führen. Das geht aus dem Node.js-Sicherheitshinweis hervor, den SentinelOne zitiert. Die US-Behörde CISA nahm die Lücke am 27. Oktober 2026 in ihren Katalog bekannter ausgenutzter Schwachstellen (Known Exploited Vulnerabilities, KEV) auf.

Das Wichtigste in Kürze
  • CVE-2026-111497 ist ein Out-of-bounds-Write im Brotli-Decoder von Google, den Google mit 9,2 nach CVSS v4.0 bewertet.
  • Die CISA nahm die Lücke am 27. Oktober 2026 in den KEV-Katalog auf und setzte US-Bundesbehörden der zivilen Verwaltung eine Frist bis zum 10. November.
  • Ausnutzungsversuche trafen Honeypots, doch SentinelOne kannte bis zum 29. Oktober 2026 keine bestätigte Kompromittierung eines Produktivsystems.
  • Node.js, Brotli, Bun, .NET, Python, Envoy, Istio und PHP für Windows brauchen jeweils eigene Updates.
  • Node.js 20, 23 und 25 sind nicht mehr unterstützt und erhalten keinen Fix.

Was die Schwachstelle bewirkt

Node2Shell ist ein Out-of-bounds-Write im Brotli-Decoder, also in dem Code, der Brotli-komprimierte Daten entpackt. SentinelOne beschreibt die Schwachstelle als nicht geprüften Rückgabewert (CWE-252), der zu einem Schreibzugriff außerhalb der Speichergrenzen (CWE-787) führt, und zwar ohne dass eine Authentifizierung nötig ist.

Ein Brotli-Datenstrom signalisiert Wechsel zwischen Blocktypen. Deklariert ein Strom nur einen Blocktyp, ist ein Wechsel ungültig, und der Decoder sollte ihn ablehnen. Der verwundbare Decoder meldete den ungültigen Wechsel jedoch als Anforderung weiterer Eingabedaten. Der Aufrufer lieferte weitere Bytes, der Decoder hängte sie immer weiter an einen acht Byte großen internen Puffer an und schrieb über dessen Ende hinaus, so der Node.js-Hinweis.

Google bewertete die Lücke in seiner Rolle als CVE Numbering Authority mit 9,2 nach CVSS v4.0. Node.js stuft sie als hoch ein. Da der Fehler in der Brotli-Bibliothek von Google steckt, reicht er weit über Node.js hinaus. Deshalb verwenden Hersteller Bezeichnungen wie Brotli2Shell, Broccoli2Shell und HTTP2Shell. Betroffen sind die Brotli-Versionen 1.0.3 bis 1.0.9, 1.1.0 und 1.2.0.

Wie Daten des Angreifers den Decoder erreichen

Ein Node.js-Server in der Standardkonfiguration ist für sich genommen nicht angreifbar. Es muss etwas geben, das vom Angreifer kontrollierte Brotli-Daten an den Decoder weiterreicht. SentinelOne nennt drei Wege:

  • Eingehende Request-Bodys: Routen mit express.json(), express.urlencoded(), express.text() oder express.raw() in Express 5 oder body-parser 2 dekomprimieren standardmäßig Bodys, die mit Content-Encoding: br gesendet werden, und jeder Client kann einen solchen schicken.
  • Ausgehende Antworten: Das eingebaute fetch() dekodiert Brotli automatisch, sodass ein bösartiger oder kompromittierter Server den Client angreifen kann.
  • Direkte Aufrufe: Anwendungen, die nicht vertrauenswürdige Eingaben an zlib.brotliDecompress() oder zlib.createBrotliDecompress() übergeben.

Imperva demonstrierte Codeausführung auf dem offiziellen Node.js-24.22.0-arm64-Image über fetch() und Express-5-Request-Bodys. Dafür waren mehrere Versuche nötig, und nicht jeder Node.js-Build wurde getestet. Doch auch ein gescheiterter Exploit hat Folgen: Der Node.js-Hinweis nennt einen Absturz als mögliche Auswirkung, und Sysdig berichtet, Abstürze ließen sich leicht reproduzieren, was wiederholte Denial-of-Service-Angriffe möglich macht.

Ausnutzung und zeitlicher Ablauf

Es wurden Ausnutzungsversuche registriert, doch SentinelOne zufolge ist bis zum 29. Oktober 2026 kein öffentlicher Bericht über eine bestätigte Kompromittierung eines Produktivsystems bekannt. ELLIO verzeichnete am 26. Oktober eine Anfrage, die auf Node.js 24.22.0 auf x86-64 zugeschnitten war, Previdian am 27. Oktober eine von einer US-Adresse, jeweils auf Honeypot-Sensoren. Previdian weist darauf hin, dass solche Beobachtungen weder belegen, dass das Ziel verwundbar war, noch dass der Versuch erfolgreich war.

Laut Sysdig tauchte öffentlicher Proof-of-Concept-Code innerhalb weniger Stunden nach der Veröffentlichung am 21. Oktober auf. Die CISA setzte US-Bundesbehörden der zivilen Verwaltung nach BOD 26-04 eine Frist bis zum 10. November 2026.

Wichtige Daten im Jahr 2026:

  • 27. Februar: Google übernimmt den Fix im Upstream-Code, ohne Release und ohne Sicherheitshinweis.
  • 21. Oktober: Node.js macht die CVE öffentlich, und Google veröffentlicht Brotli 1.0.10, 1.1.1 und 1.2.1.
  • 22. Oktober: Imperva demonstriert Codeausführung auf arm64, und der CVE-Eintrag wird veröffentlicht.
  • 25. Oktober: Microsoft veröffentlicht außerplanmäßige .NET-Sicherheitsupdates.
  • 27. Oktober: Die CISA nimmt die CVE in den KEV-Katalog auf.

Patches und empfohlene Maßnahmen

Jedes betroffene Projekt hat einen eigenen Fix veröffentlicht, ein Update an einer Stelle aktualisiert die anderen also nicht. SentinelOne führt Korrekturen für Node.js, Google Brotli, Bun, .NET, PHP für Windows, Python, Envoy und Istio auf.

  • Node.js: 22.23.4, 24.22.1 oder 26.12.1.
  • Google Brotli: 1.0.10, 1.1.1 oder 1.2.1.
  • Bun: 1.4.4 für die Versionen 1.0.21 bis 1.4.3.
  • Microsoft .NET: 8.0.33, 9.0.22, 10.0.14 oder 11 RC3. .NET Framework ist nicht betroffen.
  • Python: Brotli 1.2.1 und brotlicffi 1.2.1.0.

Für die nicht mehr unterstützten Versionen Node.js 20, 23 und 25 wird voraussichtlich kein Fix erscheinen, die Nutzer müssen daher auf eine unterstützte Linie wechseln.

SentinelOne rät, Node.js zu aktualisieren, Prozesse neu zu starten und Container-Images neu zu bauen. Anschließend sollten alle weiteren Laufzeitumgebungen und Bibliotheken erfasst werden, die den Brotli-Decoder einbetten, beginnend mit den aus dem Internet erreichbaren Diensten. Wo sich das Patchen verzögert, empfiehlt SentinelOne, eingehende Anfragen mit Content-Encoding: br am Proxy oder Load Balancer abzulehnen. Zudem sollte der Patch-Stand anhand der in jeder Workload laufenden Node.js-Release-Version geprüft werden und nicht anhand der Versionsangabe einer gebündelten Bibliothek, die einen rückportierten Fix möglicherweise nicht widerspiegelt.

Ähnliche Meldungen

Feedzai erweitert Digital Trust um Endpoint-Sicherheit, um Betrugssignale zu schützen
Sicherheit und Ethik2. November 2026, 22:32

Feedzai erweitert Digital Trust um Endpoint-Sicherheit, um Betrugssignale zu schützen

Feedzai hat sein Produkt Digital Trust um Funktionen für die Endpoint-Sicherheit erweitert. Sie sollen die Software zur Betrugsprävention und die Risikosignale schützen…

JFrog mahnt CISOs, die Frage „Sind wir betroffen?“ nach den Vorfällen bei Curl, PHP und LiteLLM schnell zu beantworten
Sicherheit und Ethik30. Oktober 2026, 21:21

JFrog mahnt CISOs, die Frage „Sind wir betroffen?“ nach den Vorfällen bei Curl, PHP und LiteLLM schnell zu beantworten

Aktuelle Schwachstellen und eine Paketkompromittierung bei Curl, PHP und LiteLLM zeigen laut JFrog, warum Sicherheitsverantwortliche die Frage „Sind wir betroffen?“…

Clone Systems verlagert Managed SOC + SIEM auf private, selbst gehostete KI
Sicherheit und Ethik28. Oktober 2026, 19:00

Clone Systems verlagert Managed SOC + SIEM auf private, selbst gehostete KI

Clone Systems hat sein Managed SOC + SIEM, einen rund um die Uhr verfügbaren Managed-Detection-and-Response-Dienst (MDR), neu aufgebaut. Er läuft nun auf einer eigenen…