Exploit proof-of-concept per CVE-2025-55182, una RCE critica non autenticata in React Server Components. Include exploit Python automatizzato, analisi tecnica, regole di rilevamento e configurazione dell'ambiente di laboratorio per test di sicurezza autorizzati.
Un exploit proof-of-concept completo e una risorsa educativa per CVE-2025-55182, una vulnerabilità critica di esecuzione remota di codice che interessa i React Server Components con un punteggio CVSS di 10.0.
SOLO PER SCOPI EDUCATIVI E DI TEST AUTORIZZATI
Questo strumento è fornito esclusivamente per scopi educativi e per test di sicurezza autorizzati. L'accesso non autorizzato ai sistemi informatici è illegale ai sensi di varie normative, tra cui il Computer Fraud and Abuse Act (CFAA) negli Stati Uniti e legislazioni simili in tutto il mondo.
Devi:
L'autore e i collaboratori:
Utilizzando questo strumento, dichiari di aver compreso e di accettare questi termini.
React2Shell è una vulnerabilità critica scoperta nel dicembre 2025 che interessa i React Server Components (RSC) e i framework che li implementano, in particolare Next.js. La vulnerabilità consente l'esecuzione remota di codice senza autenticazione tramite una singola richiesta HTTP appositamente predisposta.
Questo repository contiene:
| Campo | Dettagli |
|---|---|
| CVE ID | CVE-2025-55182 |
| Punteggio CVSS | 10.0 (Critico) |
| Vettore di attacco | Rete |
| Complessità dell'attacco | Bassa |
| Privilegi richiesti | Nessuno |
| Interazione dell'utente | Nessuna |
| Impatto | Compromissione completa del sistema (RCE) |
| Data di divulgazione | Dicembre 2025 |
create-next-app sono sfruttabiliVersioni vulnerabili:
react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0Versioni corrette:
Versioni vulnerabili:
Versioni corrette:
La vulnerabilità risiede nella funzione requireModule all'interno della logica di deserializzazione dei React Server Components:
function requireModule(metadata) {
var moduleExports = __webpack_require__(metadata[0]);
return moduleExports[metadata[2]]; // VULNERABLE LINE - Prototype chain traversal
}
Il difetto consente agli attaccanti di attraversare la catena di prototipi di JavaScript tramite il protocollo React Flight, accedendo al costruttore Function attraverso proprietà come constructor.constructor, consentendo l'esecuzione di codice arbitrario.
__proto__ per creare una struttura auto-referenzialeconstructor.constructor per accedere a Function()child_process.execSync()┌─────────────────────────────────────────────────────────────┐
│ Attacker sends multipart/form-data with Next-Action header │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Server deserializes payload via React Flight protocol │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Fake chunk object with __proto__ pollution processed │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Blob handler invokes _formData.get(_prefix + id) │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Resolves to Function("malicious_code") │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Arbitrary code executed with Node.js process privileges │
└─────────────────────────────────────────────────────────────┘
requests# Clone the repository
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc
# Install dependencies
pip install -r requirements.txt
# Make script executable (Linux/macOS)
chmod +x react2shell.py
requests>=2.31.0
urllib3>=2.0.0
python3 react2shell.py
╔═══════════════════════════════════════════════════════════╗
║ React2Shell (CVE-2025-55182) PoC ║
║ CVSS 10.0 - Critical RCE ║
║ ║
║ Affected: React 19.0.0, 19.1.0, 19.1.1, 19.2.0 ║
║ Next.js ≥14.3.0-canary.77, 15.x, 16.x ║
║ ║
║ Cerberus Secure - Lab Use Only ║
╚═══════════════════════════════════════════════════════════╝
[?] Enter target information:
Host (e.g., localhost or 192.168.1.100): localhost
Port (e.g., 3000): 3000