Zum Inhalt springen

Das Magazin für Web-Handwerker Donnerstag, 12. November 2026

Sicherheit

Node.js schliesst vierzehn Sicherheitslücken in allen drei LTS-Zweigen

Node.js hat am 11. November 2026 Patches für die Zweige 22.x, 24.x und 26.x veröffentlicht und damit vierzehn Schwachstellen geschlossen, sieben davon mit hohem Schweregrad in HTTP/2 und TLS. Server mit nicht vertrauenswürdigen Clients sollten umgehend aktualisiert werden.

Das Node.js-Projekt hat am Mittwoch, den 11. November 2026, korrigierte Versionen für seine drei aktiv gepflegten Zweige veröffentlicht: 22.x, 24.x und 26.x. Das Paket schließt vierzehn Schwachstellen, sieben davon mit hohem Schweregrad, und betrifft vor allem HTTP/2- und TLS-Server, die nicht vertrauenswürdigen Clients ausgesetzt sind. Ein Speicherleck auf dem Server, das private Schlüssel offenlegt, zählt zu den schwerwiegendsten Fällen.

Sieben hochkritische Lücken, von einem TLS-Schlüsselleck bis zu einem HTTP/2-Denial-of-Service

Die korrigierten Versionen sind 22.23.5, 24.22.3 und 26.13.1. Die beunruhigendste Lücke, CVE-2026-123864, beruht auf einem Reentranz-Problem in TLSWrap::DoWrite(): Sie kann Server-Speicher, einschließlich privater TLS-Schlüssel, direkt in den Antworttext einer HTTP-Anfrage durchsickern lassen. Unverschlüsselter node:http-Verkehr ist nicht betroffen, nur verschlüsselte Verbindungen sind gefährdet.

Mehrere weitere hochkritische Lücken betreffen den HTTP/2-Stack: ein nicht authentifizierter Verbindungsabbruch durch eine fehlgeschlagene Zusicherung in ~Http2Session(), Sitzungen, die nach einem Protokollfehler beim Herunterfahren nie bereinigt werden, sowie ein Use-after-free beim Abbau eines Streams. Eine weitere, CVE-2026-123872, erlaubt es einem Client, eine TLS-1.2-Sitzung neu auszuhandeln, um den Servernamen zu ändern und die Client-Zertifikatsauthentifizierung zu umgehen.

CVEKomponenteAuswirkungBetroffene Versionen
CVE-2026-123864HTTPS / TLSSpeicherleck des Servers (inkl. Schlüssel) in der Antwort22.x, 24.x, 26.x
CVE-2026-123863HTTP/2Nicht authentifizierter Verbindungsabbruch24.x, 26.x
CVE-2026-123866HTTP/2Use-after-free beim Streamabbau22.x, 24.x, 26.x
CVE-2026-123872TLS 1.2Umgehung der Client-Zertifikatsauthentifizierung22.x, 24.x, 26.x
CVE-2026-126051TLS-ServerUnabgefangene Ausnahme, Absturz aus der Ferne24.x, 26.x

Auch mittlere und niedrige Schweregrade verdienen eine Codeprüfung

Das mittlere Paket betrifft unter anderem das Berechtigungsmodell: Platzhalterregeln bei --allow-fs-read und --allow-fs-write gewähren mehr Zugriff als vorgesehen, sodass eine Regel wie /etc/passwd.* am Ende /etc/passwd erlaubt. Ein weiterer Eintrag betrifft https.Agent, wo die Wiederverwendung von TLS-Sitzungen zwischen zwei unterschiedlichen CA-Richtlinien die Zertifikatsprüfung umgeht, dazu kommen Proxy-Zugangsdaten, die im Klartext in einer Fehlermeldung auftauchen, sowie ein rekursiver fs.watch, der unter macOS und Windows eigentlich verborgene Dateinamen offenlegt.

Eine TLS-1.2-Neuaushandlung, die mitten im Handshake den Servernamen wechselt, reicht aus, um eine korrekt konfigurierte Client-Zertifikatsprüfung zu umgehen.

Jetzt patchen — kein dokumentierter Workaround

Keine der Versionshinweise dokumentiert einen Workaround für ungepatchte Editionen: Das Update bleibt die einzige Abhilfe. Die Versionsprüfung braucht nur eine Zeile, gefolgt von der Installation der korrigierten Version des jeweiligen Zweigs.

node -v
# je nach verwendetem Zweig
nvm install 22.23.5
nvm install 24.22.3
nvm install 26.13.1

Auch die internen Abhängigkeiten llhttp, undici und sqlite wurden in diesem Paket aktualisiert, ohne Änderungen an V8. Bereits ausgelaufene Zweige erhalten keinerlei Korrektur.

Vorrangig zu prüfen: jeder Server, der HTTP/2 oder TLS gegenüber nicht kontrollierten Clients offenlegt, insbesondere bei Nutzung von respondWithFile(), session.altsvc(), SNI über addContext() oder einer Client-Zertifikatsrichtlinie pro Host.

Ein Patch-Rhythmus, der das gesamte Backend-Ökosystem betrifft

Der Versionskalender von Node.js, dessen Umstieg auf einen jährlichen Zyklus Anfang November mit dem Alpha-Zweig 27 bestätigt wurde, ändert nichts an der Behandlung von Sicherheitsnotfällen in den bestehenden LTS-Zweigen. Teams, die solche Updates in Produktion orchestrieren, profitieren von derselben Sorgfalt bei der Transportverschlüsselung in ganz anderen Kontexten, etwa bei der Überwachung der SMTP-Transportverschlüsselung: Ein schlecht geprüftes Zertifikat hat unabhängig vom Protokoll dieselben Folgen.

Was zu beachten bleibt

Vierzehn in einer einzigen Veröffentlichung behobene Lücken, davon sieben mit hohem Schweregrad und konzentriert auf HTTP/2 und TLS, rechtfertigen ein zügiges Update aller drei LTS-Zweige von Node.js. Teams, die HTTP/2- oder TLS-Server gegenüber externen Clients offenlegen, sollten diesen Patch vorrangig behandeln; alle anderen sollten vor dem nächsten Deployment-Zyklus zumindest ihre Regeln des Berechtigungsmodells überprüfen.

Solche gebündelten Releases erinnern an etwas, das in der Praxis zu oft ganz unten auf der Liste landet: Ein LTS-Zweig ist kein eingefrorenes Ziel, und ein verschobenes Sicherheitsupdate kostet immer mehr als seine Anwendung. Bei den Projekten, die ich betreue, hat die automatische Umstellung der Build-Umgebungen auf den jeweils neuesten Patch eines LTS-Zweigs schon mehr als einen stillen Zwischenfall verhindert — keine glanzvolle Arbeit, aber die, die eine Infrastruktur am Laufen hält. — Simon Janvier

Zum Weiterlesen: Die vollständigen Versionshinweise veröffentlicht das Node.js-Projekt auf nodejs.org.

Teilen LinkedIn Bluesky Hacker News E-mail

Ebenfalls lesenswert