
Proof-of-concept di exploit per la vulnerabilità di path traversal in WinRAR (CVE-2025-8088) che utilizza Alternate Data Streams per creare archivi RAR dannosi a fini di ricerca educativa.

Una Proof-of-Concept che dimostra la vulnerabilità di path traversal in WinRAR (CVE-2025-8088) che interessa le versioni ≤ 7.12.
CVE ID: CVE-2025-8088
CVSS Score: 8.4 (High)
Versioni interessate: WinRAR ≤ 7.12
Versione della patch: Corretto in WinRAR 7.13
Tipo di vulnerabilità: Path Traversal tramite Alternate Data Stream (ADS)
CVE-2025-8088 è una vulnerabilità di path traversal in WinRAR, che interessa le versioni Windows fino alla 7.12, oltre a strumenti correlati come UnRAR.dll e il suo codice sorgente portabile.
La falla consente agli attaccanti di incorporare payload malevoli in ADS all'interno di archivi RAR appositamente predisposti, permettendo l'estrazione in posizioni sensibili del sistema (ad esempio la cartella di avvio di Windows).
Ciò può portare all'esecuzione automatica di file dannosi, come DLL o file di collegamento (.lnk), al riavvio del sistema.
L'exploit sfrutta sequenze di path traversal (..) nei percorsi ADS all'interno di un archivio RAR.
Questo script crea un archivio RAR malevolo per dimostrare la vulnerabilità CVE-2025-8088.
Richiede Python e l'accesso a rar.exe (strumento a riga di comando di WinRAR).
rar.exe sia nel PATH di sistema o specifica il suo percorso usando l'argomento --rar.Crea un archivio RAR malevolo con un file esca, un payload e una cartella di destinazione, specificando il percorso di rar.exe:
python Exploit.py --decoy resume.txt --payload payload.bat --drop "C:\Users\you\Documents" --rar "C:\Program Files\WinRAR\rar.exe"
Disclaimer: Questo strumento è solo per scopi educativi e di ricerca. Non utilizzarlo per danneggiare sistemi o reti. L'autore non è responsabile per l'uso improprio o i danni causati da questo script.
| Argomento | Descrizione | Richiesto? | Predefinito |
|---|
--decoy | Percorso del file esca (esistente o verrà creato) | Sì | - |
--payload | Percorso del file payload innocuo (esistente o verrà creato) | Sì | - |
--drop | Percorso assoluto della cartella benigna (es., C:\Users\you\Documents) | Sì | - |
--rar | Percorso di rar.exe (rilevato automaticamente se omesso) | No | Rilevato automaticamente |
--out | Nome del file RAR di output | No | winrar_exploit.rar |
--workdir | Directory di lavoro | No | Directory corrente (.) |
--placeholder_len | Lunghezza del placeholder ADS (auto: ≥ max(len(injected), 128)) | No | Calcolata automaticamente |
--max_up | Numero di segmenti .. da prefissare | No | 16 |
--keep_temp | Mantieni il file RAR base temporaneo | No | - |