Die erste Lücke zur Codeausführung steckt in den React Server Components, jener React-Funktion, die Oberflächenkomponenten auf dem Server ausführt. Das Advisory von React nennt drei betroffene Pakete – react-server-dom-webpack, react-server-dom-parcel und react-server-dom-turbopack – in den Versionen 19.0.0 bis 19.3.0. Beschrieben wird der Fehler als Problem in „äußerst seltenen Fällen, in denen Antworten mehrere typisierte Arrays und einen von einem Angreifer kontrollierten Wert transportieren“.
In einer Next.js-Anwendung wird die Lücke durch eine use-cache-Funktion ausgelöst, die mehr als ein typisiertes Array zurückgibt. Betroffen sind damit nur Anwendungen der Version 16, die Cache Components aktiviert haben – die Funktion hinter use cache. Vercel empfiehlt das Update dennoch auch Anwendungen ohne eine solche Funktion.
Die zweite Lücke ist ein Speicherfehler in librsvg, der Bibliothek zum Rendern von SVG-Bildern, die Next.js über das mitgelieferte Paket sharp einbindet. Laut Advisory ist Codeausführung möglich, wenn Next.js auf einem glibc-basierten Linux läuft. Standardmäßig optimiert Next.js keine SVG-Dateien; dafür muss die Einstellung dangerouslyAllowSVG eingeschaltet werden. Dieselbe Bibliothek rendert außerdem Bilder für next/og, die Funktion zur Erzeugung von Social-Preview-Bildern, sofern diese in der Node.js-Laufzeitumgebung ausgeführt wird.
Die dritte Schwachstelle ermöglicht einen Denial of Service: In App-Router-Anwendungen, die mindestens eine Server Action definieren, können präparierte Anfragen einen Serverprozess auf volle CPU-Last treiben und ihn an der Bearbeitung weiterer Anfragen hindern. Anwendungen mit Pages Router oder ohne Server Actions sind nicht betroffen.
Wie stark eine Anwendung exponiert ist, hängt auch vom Hoster ab. Netlify erklärte, die eigene Plattform führe den Codepfad des Bildoptimierers nicht aus, die Lücken hätten dort nur begrenzte Auswirkungen – empfiehlt das Update aber trotzdem.
Was zu tun ist
- Bei Version 16 auf Next.js 16.4.1 aktualisieren, bei Version 15 auf 15.5.28, anschließend neu bauen und ausrollen.
- Vercels Hinweis, Paketmanager lieferten mit dem Next.js-Update automatisch das korrigierte sharp mit, trifft auf Version 16 zu: 16.4.1 setzt sharp 0.35.5 voraus.
- Auf Version 15 gilt das nicht zwingend. 15.5.28 akzeptiert weiterhin das ältere, betroffene sharp 0.34.x; ein Update über eine bestehende Installation kann diese Version belassen. Mit
npm ls sharpprüfen und sharp gegebenenfalls auf 0.35.5 oder neuer heben.
Wer Next.js nicht sofort aktualisieren kann, hat bei der Bildlücke eine Zwischenlösung: sharp auf mindestens 0.35.5 bringen oder das SVG-Rendering in sharp per sharp.block({ operation: ["VipsForeignLoadSvg"] }) blockieren, wie im sharp-Advisory beschrieben. Für die Lücken in use cache und bei den Server Actions gibt es keinen Workaround, hier hilft nur das Update.
Stand 15. Oktober hatten die Advisories zu use cache und Server Actions keine CVE-Nummer und tauchten nicht im npm-Advisory-Feed auf, den npm audit nutzt – Abhängigkeits-Scanner schlagen deshalb womöglich nicht an. Die Bildlücke wird über das eigene Advisory von sharp sichtbar.
Dritter Bildverarbeitungsfehler seit August
Es ist bereits das dritte Mal seit August, dass die Bildverarbeitung in Next.js zu einer Lücke mit Codeausführung führt. Im August erlaubte ein Fehler in libheif, ebenfalls über sharp erreichbar, Codeausführung, wenn der Optimierer ein präpariertes AVIF-Bild verarbeitete. Im September konnte über next/og von Angreifern kontrollierter Text das erzeugte SVG verändern.
Am eigenen Bildcode hat Next.js diesmal nichts geändert: 16.4.1 liefert denselben Optimierer wie 16.4.0 aus und behebt die Lücke, indem das mitgelieferte sharp auf 0.35.5 angehoben wird, das ein korrigiertes librsvg (2.63.2) enthält.
Der librsvg-Fehler CVE-2026-96889 wurde am 23. September öffentlich gemacht und am 27. September in sharp behoben. Red Hat bewertet ihn mit 7.8 und verweist darauf, dass eine Ausnutzung Nutzerinteraktion erfordert, etwa das Öffnen einer bösartigen Datei. Vercel stuft die Exposition in Next.js dagegen mit 9.5 ein und als über das Netzwerk erreichbar.
Rafael B. Dias, der den librsvg-Fehler gemeldet hat, sieht darin die zugrundeliegende Schwäche hinter der next/og-Lücke vom September. Für diese ältere Lücke wurde inzwischen ein funktionierender Exploit veröffentlicht, der auf eine bestimmte Serverkonfiguration zugeschnitten ist. Der Maintainer von sharp weist zudem darauf hin, dass es vom Node.js-Build des Servers abhängen kann, ob der Fehler in Codeausführung mündet oder nur zum Absturz führt – die offiziellen Node.js-Binärdateien sind gegen derartige Speicherangriffe nicht gehärtet.
Nicht zu verwechseln mit React2Shell
Die Lücke in den React Server Components steckt in denselben drei Paketen wie React2Shell, die im Dezember 2025 offengelegte Schwachstelle maximaler Schwere, die in großem Umfang ausgenutzt wurde. Die neue Lücke ist deutlich enger gefasst. Stand 15. Oktober gibt es keine öffentlichen Berichte darüber, dass eine der drei am 14. Oktober behobenen Schwachstellen für Angriffe genutzt wurde.
