
React2Shell (CVE-2025-55182) Exploit
Uno script Python che fornisce una shell interattiva per sfruttare la critica vulnerabilità RCE (CVE-2025-55182) in applicazioni React Server Components e Next.js vulnerabili. Questo exploit mira al difetto di deserializzazione che consente l'esecuzione remota di codice non autenticata. Include un sistema modulare per aggiungere tecniche di bypass WAF.
[!NOTE] Questo exploit è progettato per interagire con l'endpoint del protocollo RSC vulnerabile. I risultati dell'esecuzione vengono catturati tramite il meccanismo di risposta del server. I comandi che non producono output restituiranno
(empty).
[!CAUTION] Questo codice è solo a scopo di ricerca e formazione. È inteso ad aiutare a comprendere, rilevare e correggere la vulnerabilità CVE-2025-55182. Non utilizzarlo contro sistemi senza esplicita autorizzazione.
L'uso di questo script è a rischio dell'utente e gli autori non si assumono alcuna responsabilità per usi impropri o conseguenze indesiderate.
Utilizzando questo codice, l'utente riconosce e accetta quanto segue:
- L'utente è l'unico responsabile di eventuali conseguenze legali derivanti dall'uso di questo script.
- L'utente non riterrà gli autori responsabili di danni, perdite o azioni legali derivanti dall'uso di questo codice.
- L'utente accetta di conformarsi a tutte le leggi e i regolamenti applicabili.
- L'utente riconosce che l'uso di questo script contro sistemi senza autorizzazione può violare leggi e termini di servizio, portando potenzialmente a gravi sanzioni.
- All'utente è consigliato di consultare il proprio consulente legale prima di utilizzare questo codice.
Questo exploit dispone di un sistema modulare dinamico per il bypass WAF. I moduli sono memorizzati nella directory waf_modules come file Python separati. Ogni modulo deve definire una funzione modify_request(body, headers) che riceve il corpo e le intestazioni della richiesta predefinita, li modifica come necessario per il bypass e restituisce i nuovi body, headers.
bypass_custom.py) nella directory waf_modules contenente la funzione modify_request.--help per vedere le opzioni di bypass disponibili (ad es. --bypass-custom per bypass_custom.py). Usa il flag corrispondente per attivare il modulo.Esempio: un modulo bypass_vercel.py è incluso come esempio e implementa tecniche potenzialmente efficaci contro le distribuzioni Vercel.
--modify-request)Lo script consente la modifica diretta di alcuni attributi dell'oggetto requests.Session utilizzato per effettuare richieste HTTP. Ciò fornisce un controllo granulare su aspetti come la verifica SSL, i timeout e potenzialmente altre impostazioni a livello di sessione.
--modify-request <KEY> <VALUE>. <KEY> corrisponde a un attributo dell'oggetto requests.Session (ad es. verify, timeout).<VALUE>: true/false diventano booleani, le stringhe numeriche diventano interi o float, altrimenti rimane una stringa.--modify-request verify True--modify-request verify False (equivalente al vecchio flag --insecure)python CVE-2025-55182.py --help-modify-request per una visualizzazione ad albero delle opzioni comuni.requirements.txt)python -m venv venv e source venv/bin/activate su sistemi Unix-like o venv\Scripts\activate su Windows).
pip install -r requirements.txt
waf_modules:
mkdir waf_modules
bypass_vercel.py) all'interno di questa directory.Configura un ambiente vulnerabile (solo per test):
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest
Ulteriori informazioni: https://github.com/l4rm4nd/CVE-2025-55182
Esegui lo script:
python CVE-2025-55182.py --help # To see all options, including WAF bypasses
# Example with a bypass module:
python CVE-2025-55182.py --host 127.0.0.1 --port 3000 --endpoint / --bypass-vercel
Se non si utilizzano argomenti da riga di comando, lo script richiederà interattivamente host, porta ed endpoint.
Interagisci con la shell:
exit o quit per terminare la sessione della shell.