9.2

TI - CVE-2026-111497 - Node.js - Brotli Remote Code Execution / TLS-Validation

3 Min. Lesezeit
23. Oktober 2026

Beschreibung:

Das Node.js-Projekt veröffentlichte am 21.10.2026 die Versionen 22.23.4, 24.22.1 und 26.12.1. Diese beheben insgesamt 10 Schwachstellen. Vier davon stuft das Node.js-Projekt mit Schweregrad „High” ein.

  • CVE-2026-111497 - Remote Code Execution im Brotli-Decoder (High): Der in Node.js mitgelieferte Brotli-Decoder schreibt bei fehlerhaft aufgebauten Eingabedaten außerhalb des vorgesehenen Speicherbereichs. Verarbeitet ein Node.js-Prozess Brotli-komprimierte Daten aus einer nicht vertrauenswürdigen Quelle, können Angreifende Speicherinhalte auslesen oder beliebigen Code ausführen. Die Ausnutzung ist naheliegend, weil fetch() und Express 5 Brotli-komprimierte Inhalte automatisch dekomprimieren.
  • CVE-2026-106069 und CVE-2026-105483 - Umgehung der TLS-Hostname-Prüfung (High): Ziele, die wie eine IP-Adresse aussehen, können die Zertifikatsprüfung fälschlich bestehen. Bei CVE-2026-105483 ist die IP-Adresse dafür in Unicode-„Fullwidth”-Ziffern geschrieben.
  • CVE-2026-105482 - Kürzung von Namen in dns.resolve (High): Enthält ein Name ein NUL-Zeichen, wird er an dieser Stelle abgeschnitten.

Weitere behobene Schwachstellen mit Schweregrad „Medium” betreffen die Verarbeitung von Antworten auf Keep-Alive-Sockets (CVE-2026-105481) und die Zertifikatsprüfung bei nicht-kanonischen IPv4-Adressen (CVE-2026-106072). Außerdem werden die Zufallswerte von crypto.randomUUID() und randomInt() in Startup-Snapshots und Single-Executable-Applications (SEA) mitgespeichert, sodass jeder Prozess dieselben Werte erzeugt (CVE-2026-106074). Drei Schwachstellen mit Schweregrad „Low” betreffen ZipFile und das Permission Model.

Das Release aktualisiert zudem den in Node.js fest eingebauten Root-CA-Speicher. Anlass ist die Kompromittierung von acht Zwischenzertifikaten der Zertifizierungsstelle eMudhra (emSign G3), die am 17.10.2026 bekannt wurde. Deren private Schlüssel waren so schwach, dass sie sich trivial berechnen ließen. Damit lassen sich vertrauenswürdige Zertifikate für beliebige Domains ausstellen. Node.js verwendet standardmäßig nicht den Zertifikatsspeicher des Betriebssystems und prüft keine Sperrlisten (CRL/OCSP). Die Sperrung der Zertifikate durch eMudhra wirkt sich daher auf Node.js-Anwendungen erst mit dem Update aus.

Bei erfolgreicher Ausnutzung von CVE-2026-111497 wird der Code mit den Rechten des Benutzerkontos ausgeführt, unter dem der Node.js-Prozess läuft.


 

Betroffene Versionen:

Node.js 26.x BEFORE 26.12.1
Node.js 24.x BEFORE 24.22.1
Node.js 22.x BEFORE 22.23.4
Node.js 20.x und ältere Versionen (End of Life)

Node.js 20.x erhält seit 30.04.2026 vom Node.js-Projekt keine Sicherheitsupdates mehr. Laut Node.js-Projekt sind End-of-Life-Versionen bei Sicherheitsreleases grundsätzlich als betroffen anzusehen.

 

 Behobene Versionen:

Node.js 26.12.1 and later releases
Node.js 24.22.1 and later releases
Node.js 22.23.4 and later releases

 

 Empfohlene Maßnahmen: 

Es wird dringend empfohlen, Node.js umgehend auf eine der behobenen Versionen zu aktualisieren. Ein npm update reicht dafür nicht aus, da es ausschließlich Anwendungspakete aktualisiert und nicht die Node.js-Laufzeitumgebung selbst. Container-Images sind auf Basis aktualisierter Base-Images neu zu bauen. Offizielle Images können dem Upstream-Release um einige Stunden nachlaufen.

Darüber hinaus wird empfohlen:

  • Startup-Snapshots und Single-Executable-Applications (SEA) nach dem Update neu zu erzeugen (CVE-2026-106074).
  • Bei Betrieb mit --use-system-ca oder --use-openssl-ca zusätzlich das Paket ca-certificates des Betriebssystems zu aktualisieren.
  • Eigene CA-Listen (NODE_EXTRA_CA_CERTS bzw. ca-Optionen) auf Zertifikate der emSign-G3-Hierarchie zu prüfen.
  • Systeme mit Node.js 20.x oder älter auf eine unterstützte Version zu migrieren.

Falls ein sofortiges Update nicht möglich ist, kann die Angriffsfläche für CVE-2026-111497 reduziert werden, indem Brotli-komprimierte Daten aus nicht vertrauenswürdigen Quellen nicht verarbeitet werden. Dazu kann z. B. br aus dem Accept-Encoding-Header ausgehender Requests entfernt oder Requests mit Content-Encoding: br am vorgelagerten Proxy bzw. an der WAF blockiert werden. Diese Maßnahmen bieten keinen vollständigen Schutz.

Generell wird empfohlen, sämtliche Software aktuell zu halten und dabei insbesondere auf automatische Updates zu setzen. Regelmäßige Neustarts stellen sicher, dass diese auch zeitnah aktiviert werden.


Einschätzung der Bedrohung:

Zum Zeitpunkt der Veröffentlichung sind keine Hinweise auf eine aktive Ausnutzung der Schwachstellen bekannt. Auch ein Missbrauch der kompromittierten eMudhra-Schlüssel wurde bisher nicht bestätigt. eMudhra gibt an, dass über die betroffenen Zwischenzertifikate keine Endzertifikate ausgestellt wurden. Wer im Besitz der Schlüssel ist, kann jedoch ohne Mitwirkung von eMudhra eigene Zertifikate erzeugen. Einer der privaten Schlüssel wurde öffentlich auf GitHub demonstriert.

Für CVE-2026-111497 haben Forschende Speicherauslese und Codeausführung auf ungepatchten Versionen der Release-Linien 22.x, 24.x und 26.x demonstriert. Node.js ist in Webanwendungen, APIs, Build- und CI/CD-Umgebungen weit verbreitet. Zudem ist die Dekomprimierung von Brotli-Daten in gängigen Frameworks standardmäßig aktiv.

Das Risiko ist als hoch einzustufen. Mit Scan- und Ausnutzungsversuchen kurz nach Veröffentlichung ist zu rechnen.

 

Weiterführende Informationen: 


Sie benötigen Unterstützung?

Unsere  Expert:innen im ACP Systems Operations Center (SOC) stehen Ihnen mit Rat und Tat zur Seite. Teilen Sie uns einfach über nachfolgendes Formular mit, bei welchem Problem wir Ihnen helfen können. 

Ihre Anfrage

Updates for innovators:
Abonnieren Sie unseren Blog.