Die betroffene Stelle sitzt in Code, den Node.js selbst mitliefert, nicht in Anwendungscode. Ausgeführt wird er immer dann, wenn Brotli-Daten entpackt werden – entweder direkt über das Modul node:zlib oder automatisch, wenn eine Anwendung fetch() aufruft und die Gegenstelle ihre Antwort Brotli-komprimiert ausliefert. Angreifbar ist eine Anwendung überall dort, wo sie Brotli-Daten entpackt, die ein Angreifer kontrolliert – etwa einen Request-Body oder eine von einem fremden Server abgeholte Antwort.

Technisch handelt es sich um einen Out-of-Bounds-Write im Brotli-Decoder, ausgelöst durch fehlerhaft aufgebaute komprimierte Eingaben. Node.js hat dafür einen Patch aus dem Brotli-Projekt übernommen: Der Decoder erkennt ungültige Eingaben nun früher und bricht ab, statt über den Puffer hinaus zu schreiben. Brotli ist die Kompressionsbibliothek von Google; Node.js führt eine eigene Kopie mit. Derselbe Fix erschien am 21. Oktober in Brotli 1.2.1, 1.1.1 und 1.0.10 – andere Software, die Brotli einbettet, dürfte das Update ebenfalls benötigen. Im Quellcode von Brotli war die Änderung bereits im Februar 2026 vorgenommen, als Sicherheitsrelease aber erst im Oktober veröffentlicht worden.

„Remote Code Execution" ist die Beschreibung des Projekts für die möglichen Auswirkungen; eingestuft ist die Lücke als hoch, nicht als kritisch. Praktisch belegt ist bislang weniger: Ein am 22. Oktober veröffentlichter Proof-of-Concept erreichte Codeausführung nur gegen einen absichtlich geschwächten Testbuild. Gegen einen regulären Node.js-Build berichtete dessen Autor lediglich von einem Absturz und einem begrenzten Lesezugriff auf Prozessspeicher, nicht von Codeausführung, und erklärte, ein funktionierender Angriff auf einen normalen Build sei nicht gelungen. Gepatchte Node.js-Versionen weisen die vom Proof-of-Concept genutzte fehlerhafte Eingabe zurück. Ausnutzung in freier Wildbahn war mit Stand 22. Oktober nicht bekannt.

Drei weitere Fehler sind ebenfalls als hoch eingestuft. Zwei betreffen TLS-Zertifikatsprüfungen, die sich umgehen lassen, indem die IP-Adresse eines Servers in ungewöhnlicher Schreibweise notiert wird, sodass ein Zertifikat zu einem Host passt, zu dem es nicht passen dürfte (CVE-2026-106069 und CVE-2026-105483). Der dritte verhindert, dass dns.resolve einen Hostnamen an einem eingebetteten Nullbyte abschneidet (CVE-2026-105482). CVE-2026-105483 stuft Node.js als hoch ein, während der zugehörige Commit den Fehler als wenig schwerwiegend und schwer ausnutzbar bezeichnet.

Die übrigen Lücken sind mittel oder niedrig eingestuft. Eine davon führt dazu, dass crypto.randomUUID() und crypto.randomInt() in jedem Prozess dieselben Werte liefern, wenn eine Anwendung als Startup-Snapshot oder als Single-Executable-Application gebaut wurde (CVE-2026-106074). Damit verliert alles seine Grundlage, was auf der Unvorhersagbarkeit dieser Werte aufbaut.

Dieselben Updates entziehen zudem acht Zwischenzertifizierungsstellen-Schlüsseln des indischen Anbieters eMudhra das Vertrauen, die wenige Tage zuvor als kompromittiert gemeldet worden waren. Node.js nutzt die Mozilla-Root-Liste, führt aber standardmäßig keine Sperrprüfungen durch – eine Zertifikatskette auf Basis eines der kompromittierten Schlüssel wurde deshalb bis dahin akzeptiert. Die neuen Releases sperren die acht Schlüssel fest ein und entfernen drei emSign-Roots aus der mitgelieferten Root-Liste. Go hatte dieselbe Sperre bereits in seinem Update vom 20. Oktober umgesetzt. Verbindungen, die aus einer vor dem Update begonnenen Sitzung fortgesetzt werden, werden erst nach deren Ablauf erneut geprüft; die End-of-Life-Linien erhalten die Sperre nicht.

Darüber hinaus wurden mehrere mitgelieferte Komponenten aktualisiert. Die Kopie von undici, dem HTTP-Client hinter fetch(), rückt auf eine Version vor, die drei als mittelschwer eingestufte Advisories behebt: eines in der Prüfung der Subresource Integrity sowie zwei Fehler, die zu Speichererschöpfung führen können – einer davon im in Node.js integrierten WebSocket-Client. Ebenfalls aktualisiert wurden c-ares auf allen Linien, OpenSSL auf 22.x und 24.x sowie SQLite auf 22.x, jeweils mit Korrekturen für öffentlich bekannte Schwachstellen.

Für die Brotli-Lücke nennt der Sicherheitshinweis keinen Übergangsbehelf – wer nicht sofort aktualisieren kann, hat innerhalb von Node.js keine Rückfallebene. Vercel, das Node.js für seine Kunden betreibt, erklärte, am 21. Oktober Firewall-Regeln ergänzt zu haben, die den Angriff in eingehenden Anfragen blockieren. Diese Regeln greifen jedoch nicht bei Brotli-Antworten, die eine Anwendung selbst von anderen Servern abruft, und ersetzen das Update nicht.