Startseite / News
News

Node2Shell: Neue Node.js-Sicherheitslücke ermöglicht Remote Code Execution

Node2Shell: Neue Node.js-Sicherheitslücke ermöglicht Remote Code Execution
← Alle Beiträge

Eine neue Sicherheitslücke in Node.js ermöglicht unter bestimmten Voraussetzungen die Ausführung fremden Codes auf betroffenen Servern. Die als CVE-2026-111497 registrierte Schwachstelle betrifft den Brotli-Decoder der JavaScript-Laufzeitumgebung. Unter dem Namen Node2Shell haben Sicherheitsforscher die Gefahr einer Remote Code Execution (RCE) untersucht. Das Node.js-Projekt hat bereits Sicherheitsupdates veröffentlicht.

Besonders brisant ist, dass der Fehler nicht in einer einzelnen Anwendung oder einem gewöhnlichen npm-Paket steckt. Betroffen ist eine grundlegende Funktion der Node.js-Laufzeitumgebung selbst. Damit kann die Schwachstelle für zahlreiche Anwendungen relevant werden, die komprimierte Daten aus nicht vertrauenswürdigen Quellen verarbeiten.

Update vom 26. Oktober 2026: Auch PHP und .NET von Brotli-Lücke betroffen

CVE-2026-111497 ist kein ausschließliches Node.js-Problem. Die Schwachstelle liegt in der Brotli-Dekomprimierung und ist auch für andere Produkte relevant, die betroffene Decoder einbinden. Das PHP-Projekt veröffentlichte am 26. Oktober neue Windows-Builds; Microsoft lieferte bereits am 25. Oktober außerplanmäßige Sicherheitsupdates für .NET aus. Die konkrete Angreifbarkeit hängt jeweils davon ab, ob eine Anwendung nicht vertrauenswürdige Brotli-Daten mit einem betroffenen Decoder verarbeitet.

PHP: Neue Windows-Builds mit Brotli 1.2.1

Für Windows stehen folgende neu gebaute PHP-Pakete zur Verfügung:

PHP-ReiheNeues Windows-Paket
8.58.5.12-1
8.48.4.27-1
8.38.3.36-1
8.28.2.35-1

Diese Pakete enthalten Brotli 1.2.1 und beheben damit den Out-of-Bounds-Write in der mitgelieferten Bibliothek. In den PHP-Windows-Builds ist der betroffene Decoder insbesondere über die cURL-Erweiterung erreichbar, wenn die automatische Dekomprimierung von HTTP-Antworten aktiviert wurde. Diese Funktion ist in cURL standardmäßig deaktiviert, kann jedoch von Anwendungen oder HTTP-Client-Bibliotheken eingeschaltet werden.

Die Endung -1 kennzeichnet einen neu erstellten Windows-Build mit aktualisierten Abhängigkeiten, keine neue PHP-Quellversion. Deshalb kann php -v weiterhin beispielsweise 8.4.27 anzeigen. Für Linux-Installationen ist die Paketierung der jeweiligen Distribution maßgeblich; die PHP-Ankündigung bezieht sich ausdrücklich auf Windows-Pakete. CVE-2026-111497 ist außerdem von den zuvor gemeldeten PHP2Shell-Lücken CVE-2026-109618 und CVE-2026-109619 zu unterscheiden.

Microsoft: Außerplanmäßige .NET-Sicherheitsupdates

Microsoft hat am 25. Oktober 2026 aktualisierte Versionen für .NET 8, 9 und 10 sowie .NET 11 RC3 veröffentlicht. Für CVE-2026-111497 nennt Microsoft folgende korrigierte Runtime-Versionen:

.NET-ReiheKorrigierte Version
.NET 88.0.33
.NET 99.0.22
.NET 1010.0.14
.NET 11 RC11.0.0-rc.3.26522.148

Nach Microsofts Advisory können betroffene Brotli-Decoder unter Umständen Speicher offenlegen oder beschädigen; mögliche Folgen reichen von Informationsabfluss und Abstürzen bis hin zur Ausweitung von Berechtigungen. Relevante Verarbeitungspfade sind unter anderem explizit genutzte Brotli-APIs, die Dekomprimierung eingehender Requests in ASP.NET Core und die automatische Antwort-Dekomprimierung von HttpClient. Die beiden letztgenannten Funktionen sind standardmäßig nicht aktiviert. .NET Framework ist laut Microsoft nicht betroffen.

Betreiber sollten aktualisierte Runtime- und SDK-Pakete installieren und die Anwendungen neu starten. Selbstständig gebündelte Anwendungen müssen mit der korrigierten Runtime erneut gebaut und verteilt werden. Für NativeAOT-Anwendungen genügt ein Update der gemeinsamen Runtime des Hosts nicht: Der eingebundene Decoder muss durch erneutes Veröffentlichen der Anwendung ersetzt werden.

Was Administratoren jetzt prüfen sollten

  • Node.js-, PHP-Windows- und .NET-Installationen auf die jeweiligen korrigierten Anbieterpakete aktualisieren.
  • Prüfen, wo Brotli-komprimierte Daten aus externen oder nicht vertrauenswürdigen Quellen tatsächlich dekomprimiert werden.
  • Container, eigenständig ausgelieferte Anwendungen und gebündelte Laufzeitumgebungen ausdrücklich berücksichtigen.
  • Nach Updates die betroffenen Dienste neu starten beziehungsweise Images und Anwendungsartefakte erneut ausrollen.

Quellen zum Update: PHP: Windows-Builds vom 26. Oktober, Microsoft: .NET Out-of-Band Security Updates und Microsoft Security Advisory zu CVE-2026-111497.

Node2Shell: Was steckt hinter CVE-2026-111497?

Node.js wird weltweit für Webanwendungen, APIs, Backend-Dienste und serverseitige JavaScript-Anwendungen eingesetzt. Auch zahlreiche moderne Plattformen und Entwicklungswerkzeuge bauen auf der Laufzeitumgebung auf.

Die jetzt bekannt gewordene Schwachstelle betrifft die Verarbeitung von Daten, die mit dem Kompressionsverfahren Brotli komprimiert wurden.

Brotli wird unter anderem eingesetzt, um die Datenmenge bei HTTP-Übertragungen zu reduzieren. Bevor eine Anwendung die ursprünglichen Inhalte verwenden kann, müssen diese wieder dekomprimiert werden.

Genau dabei kann es zu einem folgenschweren Speicherfehler kommen.

Der Node.js-Brotli-Decoder enthält eine Schwachstelle, die einen sogenannten Out-of-Bounds Write ermöglicht. Dabei werden Daten außerhalb des dafür vorgesehenen Speicherbereichs geschrieben.

Solche Speicherfehler können Prozesse zum Absturz bringen. Unter geeigneten Bedingungen lassen sie sich jedoch auch ausnutzen, um den Programmablauf zu manipulieren und fremden Code auszuführen.

Das Node.js-Projekt bestätigt für CVE-2026-111497 ausdrücklich die Möglichkeit einer Remote Code Execution und stuft die Sicherheitslücke als „High“ ein.

Imperva untersucht die praktische Ausnutzung von Node2Shell

Das Sicherheitsunternehmen Imperva hat am 22. Oktober 2026 einen technischen Forschungsbericht mit dem Titel „Node2Shell: From Brotli Data to Remote Code Execution“ veröffentlicht.

Im Mittelpunkt steht die Frage, wie aus manipulierten Brotli-Daten zunächst eine Speicherbeschädigung und schließlich die Ausführung fremden Codes entstehen kann.

Der entscheidende Punkt: Bei der Schwachstelle handelt es sich nicht lediglich um einen Fehler in der Darstellung oder Verarbeitung von Webinhalten. Die betroffene Funktion arbeitet unmittelbar mit Speicherbereichen innerhalb des Node.js-Prozesses.

Gelingt es einem Angreifer, den Speicher gezielt zu manipulieren und die weiteren technischen Voraussetzungen zu erfüllen, kann daraus eine Übernahme des betroffenen Prozesses entstehen.

Eine solche Ausnutzung wäre besonders gefährlich, weil der eingeschleuste Code mit den Berechtigungen der angegriffenen Node.js-Anwendung ausgeführt werden könnte.

Wie können manipulierte Brotli-Daten einen Server gefährden?

Damit ein Angriff erfolgreich sein kann, müssen präparierte Daten den verwundbaren Decoder erreichen.

Ein mögliches Szenario ist ein Backend-Dienst, der komprimierte HTTP-Inhalte verarbeitet. Auch Anwendungen, die Daten aus externen Quellen laden und mit Node.js dekomprimieren, kommen als Angriffspunkte infrage.

Entscheidend ist, dass die Anwendung Brotli-Daten verarbeitet, deren Inhalt ein Angreifer beeinflussen kann.

Dabei sind beispielsweise folgende Angriffsszenarien relevant:

  • Ein Node.js-Server verarbeitet komprimierte HTTP-Anfragen von externen Clients.
  • Eine Anwendung lädt komprimierte Daten von einem kompromittierten oder manipulierten Server.
  • Eine API verwendet Middleware zur automatischen Verarbeitung komprimierter Inhalte.
  • Ein Backend verarbeitet nicht vertrauenswürdige Datenströme mit dem Brotli-Decoder.

Wichtig: Nicht jede Node.js-Anwendung ist automatisch aus dem Internet angreifbar. Entscheidend ist, ob ein entsprechender Datenverarbeitungspfad vorhanden und für einen Angreifer erreichbar ist.

Welche Node.js-Versionen sind betroffen?

Die Sicherheitslücke betrifft die unterstützten Node.js-Versionsreihen 22.x, 24.x und 26.x.

Am 21. Oktober 2026 hat das Node.js-Projekt aktualisierte Versionen veröffentlicht, mit denen unter anderem CVE-2026-111497 geschlossen wird.

Node.js-VersionSicherheitsupdate
22.x22.23.4
24.x24.22.1
26.x26.12.1

Administratoren sollten mindestens die jeweilige korrigierte Version einsetzen. Sofern neuere Sicherheitsupdates verfügbar sind, sollten diese bevorzugt werden.

Ältere Node.js-Versionen außerhalb des regulären Supports stellen ein zusätzliches Risiko dar. Betreiber sollten solche Installationen auf eine unterstützte Versionsreihe umstellen.

Node2Shell prüfen: So kontrollieren Administratoren ihre Systeme

Die aktuell verwendete Node.js-Version lässt sich über ein Terminal mit folgendem Befehl anzeigen:

node --version

Auch die von Node.js gemeldete Brotli-Version kann abgefragt werden:

node -p "process.versions.brotli"

Die Brotli-Versionsnummer allein reicht jedoch nicht aus, um den Sicherheitsstatus zuverlässig festzustellen. Maßgeblich sind die tatsächlich eingesetzte Node.js-Version und die vom jeweiligen Anbieter bereitgestellten Sicherheitskorrekturen.

Besonders wichtig ist die Überprüfung von Container-Umgebungen. Ein aktualisiertes Hostsystem bedeutet nicht, dass automatisch auch die Node.js-Laufzeitumgebung innerhalb eines Docker-Containers geschützt ist.

Nach einem Update müssen die betroffenen Anwendungen beziehungsweise Container mit der korrigierten Laufzeitumgebung neu gestartet werden.

Auch Express-, Next.js- und API-Anwendungen können betroffen sein

Die Schwachstelle ist nicht auf eine bestimmte JavaScript-Anwendung beschränkt.

Deshalb sollten Betreiber von Webanwendungen auf Basis von Express, Next.js und anderen Node.js-Frameworks ihre Laufzeitumgebungen überprüfen.

Die bloße Verwendung eines solchen Frameworks bedeutet allerdings noch nicht, dass CVE-2026-111497 unmittelbar ausgenutzt werden kann.

Ob ein konkretes System erreichbar und verwundbar ist, hängt unter anderem davon ab, ob komprimierte Daten vom Angreifer kontrolliert und an den betroffenen Decoder übergeben werden können.

Für Administratoren ist deshalb nicht nur die Abhängigkeitsliste einer Anwendung entscheidend. Auch die tatsächlich verwendete Node.js-Laufzeitumgebung muss überprüft werden.

Welche Folgen hätte ein erfolgreicher Node2Shell-Angriff?

Bei einer erfolgreichen Remote Code Execution kann ein Angreifer grundsätzlich innerhalb des Sicherheitskontexts der betroffenen Node.js-Anwendung handeln.

Das kann weitreichende Folgen haben.

Mögliche Angriffsziele sind beispielsweise:

  • API-Schlüssel und Zugangsdaten aus Umgebungsvariablen
  • Datenbankverbindungen und gespeicherte Anwendungsdaten
  • Konfigurationsdateien und interne Anwendungsdateien
  • Weitere Dienste innerhalb des erreichbaren Netzwerks
  • Systemressourcen, auf die der betroffene Prozess Zugriff besitzt

Ein erfolgreicher Angriff führt nicht zwangsläufig zu vollständigen Administrator- oder Root-Rechten auf dem Server.

Die tatsächlichen Auswirkungen hängen insbesondere von den Berechtigungen des Node.js-Prozesses, der Isolation der Anwendung und den erreichbaren internen Ressourcen ab.

Bei Anwendungen mit umfangreichen Zugriffsrechten kann bereits die Übernahme eines einzelnen Prozesses erhebliche Schäden verursachen.

Nach PHP2Shell folgt Node2Shell

Die Veröffentlichung erfolgt unmittelbar nach den schwerwiegenden PHP-Sicherheitslücken CVE-2026-109618 und CVE-2026-109619, die unter dem Namen PHP2Shell bekannt geworden sind.

Auch bei PHP2Shell spielen Speicherfehler innerhalb einer weitverbreiteten Laufzeitumgebung eine zentrale Rolle.

Die technischen Ursachen unterscheiden sich zwar, doch beide Fälle verdeutlichen ein grundsätzliches Problem: Sicherheitslücken in zentralen Laufzeitkomponenten können eine große Zahl unterschiedlicher Anwendungen betreffen.

Während viele Betreiber vor allem WordPress-Plugins, npm-Pakete und andere Anwendungsabhängigkeiten aktualisieren, geraten grundlegende Laufzeitumgebungen leicht aus dem Blick.

Ein aktuelles Framework schützt jedoch nicht automatisch vor Sicherheitslücken in der darunterliegenden Laufzeitumgebung.

Für Betreiber von Webservern und Backend-Diensten sind deshalb regelmäßige Sicherheitsupdates von PHP, Node.js und vergleichbaren Komponenten unverzichtbar.

Gibt es bereits aktive Angriffe auf Node2Shell?

Zum Zeitpunkt der Veröffentlichung am 22. Oktober 2026 ist die Möglichkeit einer Remote Code Execution durch die offizielle Node.js-Sicherheitsmeldung bestätigt.

Die technische Untersuchung von Imperva unterstreicht die Relevanz der Schwachstelle.

Ein belastbarer Nachweis für großflächige Angriffe auf produktive Systeme liegt derzeit jedoch nicht vor.

Das bedeutet nicht, dass Betreiber mit dem Einspielen der Sicherheitsupdates warten sollten.

Gerade bei öffentlich bekannt gewordenen Schwachstellen mit möglicher Codeausführung ist davon auszugehen, dass Angreifer nach verwundbaren Anwendungen und geeigneten Angriffspfaden suchen könnten.

Fazit: Node.js-Installationen zeitnah aktualisieren

Node2Shell zeigt, dass selbst die Verarbeitung komprimierter Daten zu einem erheblichen Sicherheitsrisiko werden kann.

Mit CVE-2026-111497 ist eine Schwachstelle bekannt geworden, die unter geeigneten Voraussetzungen eine Remote Code Execution innerhalb von Node.js ermöglicht.

Die Sicherheitsupdates für die unterstützten Node.js-Versionen stehen seit dem 21. Oktober 2026 zur Verfügung.

Betreiber sollten ihre Node.js-Versionen überprüfen, betroffene Installationen aktualisieren und dabei auch Docker-Container, Backend-Dienste und verwaltete Laufzeitumgebungen berücksichtigen.

Quellen

J

Über den Autor

Jens Könnig

Jens analysiert seit Jahren digitale Märkte, Preisbewegungen und Plattform-Strategien. Als Betreiber mehrerer datengetriebener Systeme wertet er täglich große Mengen an Produkt- und Trenddaten aus. Sein Fokus liegt auf Einordnung statt Hype: Was bedeutet eine Entwicklung wirklich für Nutzer, Preise und Märkte?

Alle Artikel von Jens Könnig →