flawopen.com/Teardowns/cve-2025-55182-react-server-components-rce
CVE-2025-55182: React2Shell-RCE in RSC
CVE-2025-55182 ermöglicht nicht authentifizierte Remote-Codeausführung beim Decodieren von React-Server-Components-(RSC)-Payloads. React bestätigte den Decoderfehler; Google Threat Intelligence dokumentierte Kampagnen mit Downloadern, Backdoors und Minern.[1], [4], [5]
Stellen Sie sich eine Rezeption vor, die ein Verzeichnis freigegebener Dienste prüft. Eine fehlerhafte Suche behandelt einen vom Verzeichnisvorlage geerbten Namen so, als hätte der Verantwortliche ihn eingetragen. Reacts Patch prüft, ob ein angeforderter Modulexport zum Modul selbst gehört; der öffentliche Hinweis legt den vollständigen Exploit-Ablauf nicht offen. Aktualisieren Sie betroffene Pakete.[1]
Kernkonzepte & Begriffe
React Server Components (RSC)- React Server Components: React-Protokoll und Pakete für Server-Rendering und Flight-Datenaustausch.[1]
Framework-Zuordnungen
- CWE-Referenz für die in diesem Leitfaden beschriebene Schwachstelle: CWE-502
- CISA KEV — aufgenommen am 2025-12-05 — CVE-2025-55182
Ursachenanalyse
React bestätigt RCE durch einen Fehler beim Decodieren von Payloads an React-Server-Function-Endpunkten; RSC-Unterstützung allein konnte genügen. Das erste Advisory hielt Details zurück. Der öffentliche Upstream-Patch prüft in requireModule() eigene Eigenschaften und behandelt Multipart-Fehler. Der Ausschnitt zeigt eine konkrete Änderung, nicht den gesamten Decoderfehler oder die vollständige Angriffskette.[1], [2]
Betroffene React2Shell-Versionen und Bereitstellungsumfang
| Komponente oder Bereitstellung | Bewertung des Umfangs | Behebungsmaßnahme |
|---|---|---|
react-server-dom-webpack, react-server-dom-parcel oder react-server-dom-turbopack in Version 19.0, 19.1.0, 19.1.1 oder 19.2.0. | Serverseitige RSC-Unterstützung kann eine Anwendung auch ohne ausdrücklich definierten Server-Function-Endpunkt exponieren; die Servergrenze muss erreichbar sein. | Aktualisieren Sie die Paketlinie je nach Fall auf 19.0.1, 19.1.2 oder 19.2.1 oder höher. Erstellen Sie das Serverartefakt neu und stellen Sie es erneut bereit. |
| Next.js App Router auf betroffenen 15.x/16.x-Versionen oder ab 14.3.0-canary.77 in nachfolgenden Canary-Versionen. | Betroffene Framework-Integrationen bündeln die verwundbaren RSC-Pakete. Gehen Sie nicht allein deshalb von Sicherheit aus, weil die Anwendung keinen eigenen Server-Function-Endpunkt definiert. | Verwenden Sie die korrigierte Version der passenden Linie: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 oder 16.0.7 oder höher. Dies sind die im zitierten Hinweis dokumentierten Mindestversionen; prüfen Sie vor dem Rollout den aktuellen Herstellerzweig. |
| Reine Client-React-Anwendung ohne serverseitige RSC-Unterstützung. | Außerhalb des dokumentierten CVE-Umfangs, da keine serverseitige Decodergrenze vorhanden ist. | Für diese Konfiguration ist kein React2Shell-Serverpatch erforderlich. Prüfen Sie den Umfang neu, wenn RSC oder Server Components eingeführt werden. |
| Bereitstellung als gepatcht gemeldet. | Eine Manifestversion belegt nicht, dass jede laufende Region, Vorschau, jeder Worker oder Container das korrigierte Artefakt verwendet. | Prüfen Sie Image-Digests und aufgelöste Paketversionen in Produktion, Vorschau und Workern; untersuchen Sie frühere Expositionszeiträume. |
| Next.js-Versionszweige laut React-Update vom 2026-01-26 | React nennt in späteren Empfehlungen neuere Sicherheitsversionen; dies sind nicht die Mindestversionen, die CVE-2025-66478 zuerst behoben haben. Weitere RSC-Hinweise und unterstützte Zweige können das Updateziel ändern. | Für die zugehörigen RSC-Hinweise CVE-2025-55183, CVE-2025-55184, CVE-2025-67779 und CVE-2026-23864 nannte React die korrigierten Versionen 19.0.4, 19.1.5 und 19.2.4. Die Next.js-Empfehlungen vom 2026-01-26 lauteten: 14.2.35 für stabile Versionen 13.3.x–14.x; 15.0.8 für 15.0.x; 15.1.12 für 15.1.x; 15.2.9 für 15.2.x; 15.3.9 für 15.3.x; 15.4.11 für 15.4.x; 15.5.10 für 15.5.x; 16.0.11 für 16.0.x; und 16.1.5 für 16.1.x. Dies sind spätere Empfehlungen für verwandte Probleme, nicht die minimalen Next.js-Versionen zur Behebung von CVE-2025-66478. Prüfen Sie vor dem Rollout den neuesten Herstellerhinweis und den unterstützten Versionszweig. |
CVE-2026-23869 — RSC-Denial-of-Service (2026-04-08). | React zufolge können speziell gestaltete HTTP-Anfragen an Server-Function-Endpunkte bis zu einer Minute übermäßig viel CPU verbrauchen, bevor ein abfangbarer Fehler entsteht. Betroffen sind react-server-dom-*-Paketversionen bis 19.0.4, 19.1.5 und 19.2.4. | React nennt 19.0.5, 19.1.6 und 19.2.5 als korrigierte Versionen der jeweiligen Zweige. |
CVE-2026-23870 — RSC-Denial-of-Service (2026-05-06). | React zufolge können speziell gestaltete HTTP-Anfragen Out-of-Memory-Ausnahmen oder übermäßige CPU-Auslastung verursachen. Betroffen sind react-server-dom-*-Paketversionen bis 19.0.5, 19.1.6 und 19.2.5. | React nennt 19.0.6, 19.1.7 und 19.2.6 als korrigierte Versionen der jeweiligen Zweige. |
CVE-2026-44907 — Denial-of-Service in Server Functions (2026-07-21). | React zufolge können speziell gestaltete HTTP-Anfragen Out-of-Memory-Ausnahmen oder übermäßige CPU-Auslastung verursachen. Betroffen sind react-server-dom-*-Paketversionen bis 19.0.7, 19.1.8 und 19.2.7. | React nennt 19.0.8, 19.1.9 und 19.2.8 als korrigierte Versionen der jeweiligen Zweige. |
Schritt-für-Schritt Angriffsablauf
Quellcode: Verwundbar vs. Sicher
Dieser genaue Ausschnitt des Upstream-Patches gibt nur einen eigenen Modulexport zurück; er reproduziert weder den gesamten Decoderfehler noch ist er eine eigenständige Korrektur. Aktualisieren Sie React Server Components oder das betroffene Framework.[2], [1]
Quelltextauszug: Methode requireModule() im React-Parcel-Client
export function requireModule<T>(metadata: ClientReference<T>): T {
const moduleExports = parcelRequire(metadata[ID /* module id */]);
return moduleExports[metadata[NAME]];
}
export function requireModule<T>(metadata: ClientReference<T>): T {
const moduleExports = parcelRequire(metadata[ID /* module id */]);
if (hasOwnProperty.call(moduleExports, metadata[NAME])) {
return moduleExports[metadata[NAME]];
}
return (undefined: any);
}
Checkliste für Engineering & Systemsicherheit
- ✓Prüfen Sie Lockfiles, Images und Server-Bundles.[1], [4]
- ✓Aktualisieren Sie auf React RSC 19.0.1, 19.1.2 oder 19.2.1 oder neuer sowie behobene Framework-Versionen. Prüfen Sie bei späteren RSC-Meldungen die Matrix und aktualisieren Sie die aufgelösten
react-server-dom-*-Pakete auf die neueste passende korrigierte Version; Frameworks können diese Pakete bündeln.[1], [4], [8], [9], [10] - ✓Bauen Sie neu und stellen Sie erneut bereit; WAF ersetzt keinen Patch.[1]
- ✓Prüfen Sie tatsächlich laufende Versionen.[1]
- ✓Untersuchen Sie nach ungepatchter Exposition Prozesse und Verbindungen; tauschen Sie Geheimnisse aus.[5], [6]
Quellen
- React Security Advisory — CVE-2025-55182
- React upstream patch — commit 7dc903c
- NVD — CVE-2025-55182, CWE-502 and KEV status
- Next.js Security Advisory — CVE-2025-66478
- Google Threat Intelligence — React2Shell exploitation
- CISA Known Exploited Vulnerabilities Catalog
- React-Sicherheitshinweis — zusätzliche RSC-Schwachstellen
- React-Sicherheitsmeldung — CVE-2026-23869 (RSC-DoS)
- React-Sicherheitsmeldung — CVE-2026-23870 (RSC-DoS)
- React-Sicherheitsmeldung — CVE-2026-44907 (Server-Functions-DoS)