Sicherheit & Datenschutz

Next.js behebt kritische RCE-Schwachstellen in Caching und SVG-Verarbeitung

Next.js 16.4.1 und 15.5.28 beheben zwei kritische Remote-Code-Execution-Schwachstellen (RCE) sowie eine Denial-of-Service-Schwachstelle, die Server Components und die Bildverarbeitung betreffen.

Illustration eines Servers, der durch einen gebrochenen Schild gegen digitale Angriffe geschützt wird
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Vercel hat am 14. Oktober ein dringendes außerplanmäßiges Sicherheitsupdate für Next.js veröffentlicht. Dieses behebt zwei kritische Remote-Code-Execution-Schwachstellen (RCE) und eine Schwachstelle mit hohem Schweregrad im Bereich Denial of Service (DoS). Die Patches sind in den Next.js-Versionen 16.4.1 und 15.5.28 verfügbar und richten sich an Anwendungen, die React Server Components, SVG-Bildverarbeitung oder Server Actions nutzen. Zwar wurden noch keine aktiven Exploits gemeldet, doch der Schweregrad dieser Probleme erfordert sofortige Aufmerksamkeit von Entwicklungsteams.

Was ist passiert?

Das Update behebt drei unterschiedliche Sicherheitsprobleme, die Next.js-Anwendungen unauthentifizierten Angriffen aussetzen. Vercel vergab einen CVSS-Score von 9,5 für beide RCE-Schwachstellen, was darauf hinweist, dass sie unter bestimmten Bedingungen kritisch und leicht ausnutzbar sind. Die erste Schwachstelle befindet sich innerhalb der React Server Components und betrifft speziell Apps, die die Funktion use cache verwenden. Die zweite involves einen Speicherfehler in librsvg, einer Open-Source-Bibliothek, die vom Paket sharp für das SVG-Rendering verwendet wird. Das dritte Problem ist eine DoS-Schwachstelle im Zusammenhang mit Server Actions, die es Angreifern ermöglicht, die CPU-Ressourcen des Servers durch manipulierte Anfragen zu erschöpfen.

Diese Schwachstellen betreffen eine breite Palette von Next.js-Versionen. Die RCE über use cache wirkt sich auf Next.js 16.0.0 bis 16.4.0 aus. Die SVG-bezogene RCE betrifft die Versionen 10.0.0 bis 15.5.27 und 16.0.0 bis 16.4.0. Die DoS-Schwachstelle erstreckt sich über die Versionen 13.0.0 bis 15.5.27 und 16.0.0 bis 16.4.0. Vercel empfiehlt allen Nutzern, auf die neuesten Patch-Releases zu aktualisieren, auch wenn sie glauben, dass ihre spezifische Konfiguration nicht verwundbar ist, um umfassenden Schutz zu gewährleisten.

Die Exposition variiert je nach Hosting-Umgebung und Anwendungssetup. So gab Netlify beispielsweise an, dass seine Plattform den Code-Pfad des Image-Optimizers nicht ausführt, was die Auswirkungen der SVG-Schwachstelle auf ihre Infrastruktur begrenzt. Dennoch rät das Unternehmen weiterhin zum Upgrade. Anwendungen, die auf glibc-basierten Linux-Systemen laufen, sind besonders gefährdet für die SVG-Schwachstelle, da der zugrunde liegende Speicherfehler in librsvg remote ausgelöst werden kann, wenn Dateien verarbeitet werden, die vom Angreifer bereitgestellt wurden.

Wie funktioniert es?

Der Fehler in den React Server Components tritt in seltenen Fällen auf, wenn eine use cache-Funktion mehr als ein typisiertes Array zurückgibt, das einen vom Angreifer kontrollierten Wert enthält. Dieses Problem liegt in den Paketen react-server-dom-webpack, react-server-dom-parcel und react-server-dom-turbopack. Wenn diese Bedingungen erfüllt sind, kann der Server beliebigen Code ausführen, der vom Angreifer bereitgestellt wurde. Obwohl Vercel das Szenario als extrem selten beschreibt, ist das potenzielle Ausmaß schwerwiegend genug, um eine universelle Upgrade-Empfehlung für Next.js-16-Nutzer zu rechtfertigen.

Die SVG-Schwachstelle resultiert aus einem Speicherfehler in librsvg, dokumentiert als CVE-2026-96889. Next.js greift über das Bildverarbeitungs-Paket sharp auf diese Bibliothek zu. Standardmäßig optimiert Next.js keine SVGs, aber die Aktivierung der Einstellung dangerouslyAllowSVG oder die Nutzung der Funktion next/og für Social-Preview-Bilder setzt die Anwendung diesem Risiko aus. Wenn eine bösartige SVG auf einem glibc-basierten Linux-System verarbeitet wird, kann die Speicherkorruption zu Remote-Code-Execution führen. Dies ist die dritte RCE in der Bildverarbeitung bei Next.js seit August und unterstreicht die Risiken, die mit komplexen nativen Abhängigkeiten verbunden sind.

Die DoS-Schwachstelle betrifft App-Router-Anwendungen, die mindestens eine Server Action definieren. Angreifer können speziell präparierte Anfragen senden, die einen einzelnen Serverprozess dazu zwingen, 100 % seiner CPU-Kapazität zu verbrauchen, wodurch er andere legitime Anfragen nicht mehr bearbeiten kann. Dies nimmt die Anwendung effektiv für Nutzer offline, die auf diesen spezifischen Prozess angewiesen sind. Pages-Router-Anwendungen und solche ohne Server Actions sind von dieser particular Schwachstelle nicht betroffen.

Wichtige Details

  • Behobene Versionen: Next.js 16.4.1 und 15.5.28 lösen alle drei Probleme.
  • Sharp-Abhängigkeit: Version 16.4.1 erfordert automatisch sharp 0.35.5, das das gepatchte librsvg enthält. Version 15.5.28 lässt möglicherweise ältere, verwundbare sharp-Versionen zu, was eine manuelle Überprüfung erfordert.
  • Linux-Spezifität: Die SVG-RCE ist primär auf glibc-basierten Linux-Systemen ausnutzbar, wo Next.js SVGs über sharp verarbeitet.
  • Keine CVE für einige Schwachstellen: Stand 15. Oktober hatten die Warnungen zu use cache und Server Actions keine zugewiesenen CVEs und waren in standardmäßigen npm-audit-Feeds nicht sichtbar.
  • Workarounds: Für die Schwachstellen bei use cache und Server Actions gibt es keine Workarounds. Für das SVG-Problem können Nutzer das Rendering von SVGs in sharp blockieren, wenn sie nicht sofort upgraden können.
  • Frühere Vorfälle: Dies folgt ähnlichen RCE-Schwachstellen im August (libheif) und September (next/og), was auf ein Muster von Verwundbarkeiten in Abhängigkeiten der Bildverarbeitung hindeutet.

Warum ist das wichtig?

Für Engineering-Teams unterstreicht dieses Update die Fragilität der Lieferkettensicherheit in modernen Web-Frameworks. Das wiederholte Auftreten von RCE-Schwachstellen in Bildverarbeitungsbibliotheken wie sharp und deren Abhängigkeiten deutet darauf hin, dass die Integration von nativem Code weiterhin ein Hochrisikobereich bleibt. Entwickler gehen oft davon aus, dass hochlevelige Framework-Abstraktionen sie vor Low-Level-Speicherfehlern schützen, doch dieser Vorfall beweist, dass tiefe Abhängigkeiten kritische Schwachstellen einführen können, die ohne spezielle Scanning-Tools nur schwer zu erkennen sind.

Das Fehlen von CVEs für zwei der drei Schwachstellen hebt zudem eine Lücke im automatisierten Sicherheitsmonitoring hervor. Viele Teams verlassen sich auf npm audit oder ähnliche Tools, um verwundbare Abhängigkeiten zu kennzeichnen. Da diese spezifischen Warnungen nicht sofort in standardmäßigen Feeds erfasst wurden, könnten Organisationen, die ausschließlich auf automatisierte Scanner setzen, die Dringlichkeit der Fixes für use cache und Server Actions übersehen haben. Dies erfordert einen proaktiveren Ansatz beim Monitoring offizieller Framework-Kanäle und Sicherheitsbulletins, anstatt sich ausschließlich auf automatisierte Tools zu verlassen.

Was Sie tun können

  • Aktualisieren Sie sofort auf Next.js 16.4.1 oder 15.5.28 und bauen Sie Ihre Anwendung neu.
  • Wenn Sie Next.js 15 verwenden, überprüfen Sie manuell, ob sharp auf Version 0.35.5 oder höher aktualisiert ist, indem Sie npm ls sharp nutzen.
  • Prüfen Sie, ob Ihre Anwendung dangerouslyAllowSVG oder next/og nutzt, und erwägen Sie, diese Funktionen zu deaktivieren, wenn sie nicht essenziell sind.
  • Überwachen Sie die CPU-Auslastung des Servers auf ungewöhnliche Spitzen, die auf eine Ausnutzung der DoS-Schwachstelle bei Server Actions hindeuten könnten.
  • Überprüfen Sie Ihre Pipeline zur Abhängigkeitsprüfung, um sicherzustellen, dass sie Warnmeldungen erfasst, denen möglicherweise noch keine CVEs zugewiesen wurden.
  • Wenn ein sofortiges Upgrade nicht möglich ist, blockieren Sie SVG-Operationen in sharp unter Verwendung von sharp.block({ operation: ["VipsForeignLoadSvg"] }) als temporäre Maßnahme gegen das Bildproblem.

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel