React Server Components erlauben Code-Ausführung (React2Shell)
Prüfregel · RSC-SEC-155
- Sicherheit
- Schweregrad: Kritisch
- CWE-502
- OWASP A06-2021
Kombiniert die installierte Next.js- bzw. React-RSC-Version aus der Lock-Datei (CVE-2025-66478 / CVE-2025-55182) mit dem Kontext im Repo: App Router oder nur Pages Router, statischer Export, Betrieb auf einer Plattform mit Filter.
Warum das zählt
„React2Shell“ ist eine Deserialisierungs-Lücke im Protokoll der React Server Components: Eine einzige präparierte Anfrage ohne Login genügt, um Code auf dem Server auszuführen — mit Zugriff auf alle Schlüssel in dessen Umgebungsvariablen. Betroffen ist jede App-Router-App auf einer betroffenen Version, auch ohne eigene Server Actions.
Der Pages Router nutzt dieses Protokoll nicht, ein statischer Export hat keinen Server. Plattformen wie Vercel filtern bekannte Angriffsmuster — ein Filter ist aber kein Patch. Die Regel nennt deshalb Version, Router und Betrieb im Nachweis und stuft danach ab.
So prüft ihr es selbst: Die Next.js-Version steht in der Lock-Datei, ein Ordner `app/` mit `page.tsx` oder `layout.tsx` zeigt den App Router. Nach dem Update gehören die Server-Schlüssel getauscht, wenn die App mit der betroffenen Version öffentlich erreichbar war.
Prüfstufe
- Repo-Zugang (Deep-Scan)
So behebt ihr es
Next.js auf 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 bzw. 16.0.7 oder neuer heben (React-RSC-Pakete auf 19.0.1, 19.1.2 bzw. 19.2.1) und die Server-Schlüssel tauschen, falls die betroffene Version öffentlich lief.