Zum Inhalt springen

Node.js 22.23.3 LTS behebt einen Use-after-free-Fehler in HTTP/2

Node.js 22.23.3 LTS, erschienen am 23. September, behebt einen Use-after-free-Fehler in HTTP/2, bringt SharedArrayBuffer-Unterstützung in Node-API und wechselt zu OpenSSL 3.5.8.

Von Tech AI Wire Team

3 Min. Lesezeit

XLinkedIn
The Notable Changes list from the Node.js 22.23.3 release notes, including the OpenSSL 3.5.8 update and the two Node-API changes.
Foto: Node.js

Das Node.js-Projekt hat am 23. September 2026 Node.js 22.23.3 veröffentlicht, einen Patch für seine Langzeit-Support-Linie. Die wichtigste Änderung behebt einen Use-after-free-Fehler in HTTP/2, einen Speicherfehler im Code, der HTTP/2-Verbindungen verarbeitet. Wer HTTP/2 aus Node.js 22 ausliefert, sollte das Upgrade einplanen.

Node.js ist die Laufzeitumgebung, mit der JavaScript auf Servern läuft statt nur im Browser. Version 22 ist ein Long-Term-Support-Release (LTS). Sie erhält also jahrelang Fehlerbehebungen und läuft bei vielen Unternehmen in der Produktion. Ihr Codename lautet "Jod".

Was der HTTP/2-Fix ändert

HTTP/2 ist die neuere Version des wichtigsten Web-Protokolls. Eine Verbindung kann damit viele Anfragen gleichzeitig tragen, jede in ihrem eigenen "Stream".

Ein Use-after-free-Fehler entsteht, wenn ein Programm ein Stück Speicher weiter nutzt, nachdem es ihn bereits zurückgegeben hat. Das Programm liest oder schreibt dann Daten, die womöglich zu etwas anderem gehören. Fehler dieser Art können ein Programm abstürzen lassen, deshalb werden sie schnell behoben.

Laut LinuxCompatible war das Problem eine Race Condition in nghttp2_session_mem_recv2(). Diese Funktion gehört zu nghttp2, der Bibliothek, mit der Node.js HTTP/2-Verkehr liest. Wurde ein Stream geschlossen, während eingehende Daten noch verarbeitet wurden, konnte der Code auf bereits freigegebenen Speicher zugreifen. Der Fix wartet mit der Verarbeitung der Stream-Close-Nachricht, genannt RST_STREAM, bis der Empfangsschritt abgeschlossen ist.

Keine der beiden Quellen nennt eine CVE-Nummer oder eine Schweregradbewertung für den Fehler. Die offiziellen Release Notes führen ihn als Bugfix. In den Security-Release-Beiträgen des Projekts taucht er nicht auf; der jüngste Eintrag dort stammt vom Juli 2026.

Neue Node-API-Funktionen für SharedArrayBuffer

Node-API ist die stabile Schnittstelle, die native Add-ons verwenden. Native Add-ons sind in C oder C++ geschriebene Module, die Node.js direkt lädt, etwa Datenbanktreiber oder Bildbibliotheken.

Mit diesem Release können diese Add-ons mit SharedArrayBuffer arbeiten, einem Speicherblock, den mehrere JavaScript-Threads gleichzeitig lesen und beschreiben können. Die Release Notes fügen napi_create_external_sharedarraybuffer hinzu und erweitern napi_create_typedarray, sodass es einen SharedArrayBuffer akzeptiert.

Weitere Fixes und Abhängigkeits-Updates

Zwei kleinere Fixes sind aufgeführt. Einer stellt die Möglichkeit wieder her, das Dateisystemmodul fs zu patchen, wenn Code über den ES-Modul-Loader geladen wird. Der andere korrigiert, wie Umgebungsvariablen unter Windows escaped werden.

Das Release aktualisiert außerdem gebündelte Bibliotheken:

KomponenteNeue Version
OpenSSL3.5.8
Root-ZertifikateNSS 3.125
npm10.9.9
corepack0.36.0
Undici6.28.1
ICU78.3
c-ares1.34.8
Zeitzonendaten2026c

OpenSSL übernimmt die Verschlüsselung für HTTPS. Undici ist der HTTP-Client hinter dem eingebauten fetch von Node. Die Root-Zertifikate bestimmen, welchen HTTPS-Seiten Node.js standardmäßig vertraut.

Was das für Entwickler bedeutet

Prüfen Sie, ob Ihre Node.js-22-Dienste direkt HTTP/2 sprechen. Dazu gehören Server auf Basis des http2-Moduls, gRPC-Dienste und Apps, die TLS selbst terminieren, ohne vorgeschalteten Proxy. Diese Dienste sind dem Fehler beim Schließen von Streams am stärksten ausgesetzt, also stellen Sie sie zuerst auf 22.23.3 um.

Aktualisieren Sie Ihre Basis-Images, nicht nur Ihre Laptops. Viele Teams pinnen eine Node-Version in einem Dockerfile, einer CI-Konfiguration oder einer .nvmrc-Datei. Suchen Sie in diesen Dateien nach 22. und erhöhen Sie jede Angabe, dann bauen Sie neu.

Wenn Sie ein natives Add-on pflegen, können Sie mit den neuen Node-API-Funktionen Speicher mit Worker-Threads teilen, ohne ihn zu kopieren. Bauen Sie eine Versionsprüfung ein. Diese Funktionen gibt es nur in neueren Releases, und ältere Node-22-Builds haben sie nicht.

Wenn Ihre Testsuite das fs-Modul unter ES-Modulen mockt und mit einem früheren 22.x-Release kaputtging, führen Sie sie unter 22.23.3 erneut aus. Durch das wiederhergestellte Patchen können Sie einen Workaround womöglich entfernen.

Achten Sie schließlich auf eine CVE. Die Release Notes nennen keine, und das Projekt veröffentlicht möglicherweise später ein Security Advisory. Behandeln Sie dies bis dahin als Patch, den Sie jetzt einspielen sollten, statt auf das nächste planmäßige Update zu warten.

Quellen

  1. Node.js 22.23.3 (LTS) - Node.js
  2. Node.js 22.23.3 LTS Released with HTTP/2 Use-After-Free Fix - LinuxCompatible

Ähnliche Artikel

Radicles Offenlegungsseite zu einer Schwachstelle im Netzwerkprotokoll, datiert 23.09.2026, unter einem violetten illustrierten Banner.
Dev-Tools

Radicle bis 1.10.3 sendet private Repos im Klartext

Jede Radicle-Version bis 1.10.3 überträgt Repository-Daten unverschlüsselt und lässt Angreifer vertrauenswürdige Peers imitieren. Ein Fix fehlt noch; Radicle 2.0 ändert das Netz.