Home NachrichtenNode.js-Sicherheitsupdate: 16 Lücken, HTTP/2-Server können abstürzen und Daten leaken

Node.js-Sicherheitsupdate: 16 Lücken, HTTP/2-Server können abstürzen und Daten leaken

by Dimitri Roschkowski
0 Kommentare

Das Node.js-Projekt hat am 11. November 2026 Sicherheitsupdates für alle drei unterstützten Versionslinien veröffentlicht. Die neuen Versionen 22.23.5, 24.22.3 und 26.13.1 schließen 16 Lücken in Node.js selbst, sieben davon mit hoher Schwere. Die gefährlichsten stecken im eingebauten HTTP/2-Server und in der HTTPS/TLS-Verarbeitung: Ein Angreifer ohne Anmeldung kann Server abstürzen lassen und in bestimmten Fällen Speicherinhalte anderer Verbindungen abgreifen, bis hin zu privaten TLS-Schlüsseln.

Server-Symbol mit Datenströmen, von denen einige rot werden und zerfallen, daneben ein geflicktes Schloss-Schild
Mehrere Lücken lassen Speicher anderer Verbindungen durchsickern. (Symbolbild, KI-generiert)

Das Wichtigste in Kürze

  • Updates: Node.js 22.23.5, 24.22.3 und 26.13.1 (alle vom 11.11.2026).
  • Umfang: 16 Lücken in Node.js, sieben davon „high“. Dazu aktualisierte Abhängigkeiten (llhttp, undici, sqlite, brotli).
  • Schlimmste Folgen: Absturz von HTTP/2- und TLS-Servern sowie Speicherlecks, über die fremde Antworten, Anfragen anderer Nutzer oder TLS-Schlüssel nach außen gelangen können.
  • Workaround: keiner. Das Advisory nennt nur das Update.
  • Nicht mehr unterstützt: 20.x und 25.x bekommen keine Updates und gelten als betroffen.
  • Angriffe bekannt? Das Advisory meldet keine.

Die sieben Lücken mit hoher Schwere

CVE Komponente Was passiert Betroffene Linien
CVE-2026-123863 HTTP/2 Jeder Client kann den Server zum Absturz bringen. Voraussetzung ist nur ein Standard-HTTP/2-Server, der antwortet, bevor der Request-Body vollständig da ist – laut Projekt der Normalfall. Über TLS und Klartext. 24.x, 26.x
CVE-2026-123864 HTTPS Ein Client kann Speicher anderer Verbindungen lesen, „einschließlich privater TLS-Schlüssel und Anfragen anderer Nutzer“. Nur bei bestimmten Handlern (siehe unten). Reines node:http ist nicht betroffen. 22.x, 24.x, 26.x
CVE-2026-123865 HTTP/2 Ein Client kann Speicher und Dateideskriptoren dauerhaft belegen, Verbindungen bleiben in CLOSE_WAIT hängen. Zuverlässig gegen Standard-Server. 22.x, 24.x, 26.x
CVE-2026-123866 HTTP/2 Beim Abbau eines Streams kann freigegebener Speicher an den Client gehen, auch Antworten für andere Verbindungen. 22.x, 24.x, 26.x
CVE-2026-123874 HTTP/2 Speicherkorruption, wenn der Server Dateien mit respondWithFile() oder respondWithFD() ausliefert. 24.x, 26.x
CVE-2026-126051 TLS Absturz eines TLS-Servers, wenn er SNICallback, OCSPRequest, newSession, resumeSession oder server.addContext() nutzt. 24.x, 26.x
CVE-2026-123872 TLS Umgehung der Client-Zertifikatsprüfung: Ein Client wechselt bei der TLS-1.2-Neuverhandlung den Hostnamen und landet ohne passende Berechtigung auf einem strenger geschützten Host. 22.x, 24.x, 26.x

Die zwei Speicherlecks im Detail

CVE-2026-123864 (HTTPS): Ruft ein Handler res.flushHeaders() auf, bevor der Request-Body komplett angekommen ist, und beendet die Antwort später mit res.end() und Daten, kann der Server fremden Heap-Speicher in den Request-Body kopieren. Lesen kann der Angreifer das Leck über jede Route, die einen Request-Body zurückgibt oder speichert. Das Advisory sagt nicht, ob betroffene Server nach dem Update ihre TLS-Schlüssel tauschen sollten. Wer die Bedingungen erfüllt, sollte das aus Vorsicht einplanen.

CVE-2026-123866 (HTTP/2): Wird ein Stream abgebaut, während noch geschrieben wird, sendet Node.js unter Umständen freigegebenen oder fremden Speicher statt der eigentlichen Antwort. Ab Node.js 24.22.0 und 26.9.0 kann das ein Client allein auslösen. Auf 22.x und älteren 24.x- und 26.x-Versionen passiert es, wenn der Server selbst einen Stream mitten in der Antwort schließt, zum Beispiel nach einem Idle-Timeout.

Weitere Lücken

Mit mittlerer Schwere bewertet das Projekt unter anderem einen weiteren Absturz beim Abbrechen von Datei-Downloads über HTTP/2 (CVE-2026-123875, alle Linien), einen Ein-Byte-Überlauf bei session.altsvc() (CVE-2026-123828), unbegrenzten Speicherverbrauch durch eingehende HTTP/2-Daten (CVE-2026-123868), eine Umgehung der mTLS-Prüfung bei SNI-Kontexten nur mit CA (CVE-2026-123867), Proxy-Zugangsdaten in Fehlermeldungen (CVE-2026-123871) und eine Zertifikatsprüfungs-Umgehung im https.Agent durch wiederverwendete TLS-Sitzungen (CVE-2026-123877). Dazu kommen Lücken mit niedriger Schwere im Permission Model und in zlib.

Wer betroffen ist

Die schweren Lücken sitzen im HTTP/2-, HTTPS- und TLS-Servercode von Node.js. Sie sind also vor allem dann relevant, wenn ein Node.js-Prozess solche Verbindungen selbst annimmt. Steht ein Reverse Proxy wie nginx, Caddy oder Traefik davor, der TLS beendet und per HTTP/1.1 an Node.js weiterreicht, sind die meisten dieser Server-Lücken von außen nicht erreichbar. Einige der mittleren Lücken betreffen aber auch ausgehende Verbindungen (https.Agent). Aktualisieren solltest du deshalb in jedem Fall.

Was Admins jetzt tun sollten

1. Version prüfen:

node --version
Linie Sichere Version
22.x 22.23.5 oder neuer
24.x 24.22.3 oder neuer
26.x 26.13.1 oder neuer
20.x, 25.x und älter keine – auf eine unterstützte Linie wechseln

2. Aktualisieren, je nachdem, wie Node.js installiert ist:

# NodeSource-Repository (Debian/Ubuntu)
sudo apt update && sudo apt install --only-upgrade nodejs

# nvm
nvm install 24 --reinstall-packages-from=current

# Docker: Image neu ziehen und Container neu bauen
docker pull node:24

# Windows/macOS: Installer von nodejs.org

Pakete aus den Distributions-Repositories (etwa Debian stable) bekommen Sicherheitskorrekturen oft als Backport mit anderer Versionsnummer. Dort hilft nur der Blick in die Sicherheitshinweise der Distribution. Nach dem Update laufende Node.js-Prozesse und Dienste neu starten, sonst läuft weiter die alte Version.

3. Eigene Abhängigkeiten: Anwendungen, die Electron oder andere Laufzeitumgebungen mit eingebettetem Node.js nutzen, brauchen ein Update dieser Software. Das Node.js-Update auf dem System hilft dort nicht.

Häufige Fragen

Ich nutze nur HTTP/1.1 ohne TLS in Node.js. Muss ich updaten?

Die schwersten Lücken betreffen dich dann nicht. Einige Lücken mittlerer und niedriger Schwere gelten aber unabhängig davon. Das Update ist ein Patch-Release, es gibt keinen Grund, es auszulassen.

Gibt es einen Workaround ohne Update?

Nein, das Advisory nennt keinen. Für einzelne Lücken hilft es, HTTP/2 im Node.js-Server abzuschalten oder TLS vor Node.js zu beenden. Das ersetzt das Update nicht.

Wer hat die Lücken gefunden?

Mehrere Forscher. Fünf der Lücken, darunter CVE-2026-123863 und CVE-2026-123864, meldete laut Advisory Chris Rohlf in Zusammenarbeit mit Claude und Anthropic Research.

Quellen

You may also like

Hinterlasse einen Kommentar