Riproduzione di cve-2025-0282-ivanti_rce_reproduction
CVSS 9.0 — CRITICO | Zero-Day sfruttato attivamente | Scoperto a gennaio 2025
CVE-2025-0282 è una vulnerabilità di overflow del buffer basato su stack (CWE-121 / CWE-787) nel componente di gestione IFT/TLS di Ivanti Connect Secure (ICS), Ivanti Policy Secure (IPS) e ZTA Gateways. Il difetto consente a un attaccante remoto non autenticato di ottenere esecuzione di codice arbitrario sull'appliance target con privilegi di root.
La vulnerabilità è stata divulgata l'8 gennaio 2025 dopo essere stata osservata in sfruttamento attivo come zero-day. È stata attribuita all'attore di minaccia legato alla Cina monitorato come UNC5337 da Mandiant. CISA ha aggiunto questa CVE al proprio catalogo Known Exploited Vulnerabilities (KEV) entro 72 ore dalla divulgazione pubblica.
La vulnerabilità risiede nel percorso di elaborazione dei pacchetti IFT (Internal Forwarding Table) / TLS dell'interfaccia di gestione HTTPS dell'appliance. Durante l'analisi di messaggi di handshake TLS malformati o frame IFT appositamente costruiti, il codice copia dati controllati dall'attaccante in un buffer dello stack a dimensione fissa senza un adeguato controllo dei limiti:
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // nessun controllo della lunghezza
Poiché il buffer di destinazione risiede nello stack, un payload sovradimensionato sovrascrive:
| Campo | Dettaglio |
|---|---|
| Vettore | Rete |
| Complessità | Bassa |
| Privilegi | Nessuno |
| Interazione utente | Nessuna |
| Ambito | Invariato |
| Riservatezza | Alta |
| Integrità | Alta |
| Disponibilità | Alta |
| Prodotto | Versioni vulnerabili | Versione corretta |
|---|---|---|
| Ivanti Connect Secure | < 22.7R2.5 | 22.7R2.5 |
| Ivanti Policy Secure | < 22.7R1.2 | 22.7R1.2 |
| ZTA Gateways | < 22.7R2.3 | 22.7R2.3 |
Nota: Ivanti ha confermato che anche la linea di rilascio 22.6 è vulnerabile. I clienti ancora su ICS 9.x o 22.4 sono ugualmente esposti.
sslvpn o dsaccess/tmp/*.py, .sslvpn_config_upload o voci cron inattesescapy, socket e sslClonare questo repository:
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
Installare le dipendenze:
pip install -r requirements.txt
(Requisiti: scapy, argparse, socket — socket è nella libreria standard)
Eseguire il PoC contro il proprio target:
python exploit.py --target 192.168.1.100 --port 8443
Per specificare una dimensione personalizzata del payload:
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
Abilitare l'output di debug:
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy in un buffer dello stack di 1024 byte senza controllo dei limitiImportante: Il codice fornito è solo per test educativi e autorizzati. Dimostra la condizione di overflow del buffer e causerà un denial of service (crash) su target non patchati. Eseguirlo contro sistemi che non si possiedono o per i quali non si ha il permesso scritto di testare è illegale.
Vedere exploit.py in questo repository.
Lo script accetta i seguenti argomenti:
usage: exploit.py [-h] --target TARGET [--port PORT] [--payload-size PAYLOAD_SIZE] [--verbose]
CVE-2025-0282 Ivanti Stack Buffer Overflow Reproduction PoC
options:
-h, --help show this help message and exit
--target TARGET Target Ivanti appliance IP or hostname
--port PORT Target port (default: 8443)
--payload-size PAYLOAD_SIZE
Size of overflow payload in bytes (default: 4096)
--verbose Enable verbose/debug output
| Azione | Dettaglio |
|---|---|
| Applicare subito la patch | Aggiornare a ICS >=22.7R2.5, IPS >=22.7R1.2, ZTA >=22.7R2.3 |
| Limitare l'accesso di rete | Limitare l'interfaccia di gestione HTTPS solo a IP fidati |
| Abilitare MFA | Mitiga il movimento laterale post-exploitation |
| Monitorare i log | Controllare anomalie TLS e crash di processo inattesi |
| Cercare gli IOC | Verificare le TTP di UNC5337 (dump credenziali, tool tunnel) |
Questo repository è fornito solo per ricerca di sicurezza autorizzata e scopi educativi. Gli autori non sono responsabili di qualsiasi uso improprio di questo codice. Lo sfruttamento non autorizzato di CVE-2025-0282 è illegale e non etico. Ottenere sempre un permesso scritto esplicito prima di testare qualsiasi sistema.