Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Panoramica
Molti formati di archivio (ZIP, RAR, TAR, 7-ZIP, ecc.) consentono a ciascuna voce di portare il proprio percorso interno. Quando un'utilità di estrazione onora ciecamente quel percorso, un nome file creato contenente ..
o un percorso assoluto (ad es. C:\Windows\System32\
) verrà scritto al di fuori della directory scelta dall'utente. Questa classe di vulnerabilità è ampiamente conosciuta come Zip-Slip o traversata del percorso di estrazione dell'archivio.
Le conseguenze variano dalla sovrascrittura di file arbitrari al raggiungimento diretto dell'esecuzione remota di codice (RCE) depositando un payload in una posizione auto-eseguibile come la cartella Startup di Windows.
Causa principale
- L'attaccante crea un archivio in cui uno o più header di file contengono:
- Sequenze di traversata relative (
..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe
) - Percorsi assoluti (
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe
)
- La vittima estrae l'archivio con uno strumento vulnerabile che si fida del percorso incorporato invece di sanificarlo o forzare l'estrazione sotto la directory scelta.
- Il file viene scritto nella posizione controllata dall'attaccante ed eseguito/caricato la prossima volta che il sistema o l'utente attiva quel percorso.
Esempio reale – WinRAR ≤ 7.12 (CVE-2025-8088)
WinRAR per Windows (inclusi il CLI rar
/ unrar
, la DLL e la sorgente portatile) non è riuscito a convalidare i nomi dei file durante l'estrazione. Un archivio RAR malevolo contenente un'entrata come:
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
finirebbe fuori dalla directory di output selezionata e all'interno della cartella Startup dell'utente. Dopo il login, Windows esegue automaticamente tutto ciò che è presente lì, fornendo RCE persistente.
Creazione di un PoC Archive (Linux/Mac)
# Requires rar >= 6.x
mkdir -p "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
cp payload.exe "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
rar a -ep evil.rar evil/*
Opzioni utilizzate:
-ep
– memorizza i percorsi dei file esattamente come forniti (non potare il./
iniziale).
Consegnare evil.rar
alla vittima e istruirla a estrarlo con una versione vulnerabile di WinRAR.
Sfruttamento Osservato nel Mondo Reale
ESET ha segnalato campagne di spear-phishing RomCom (Storm-0978/UNC2596) che allegavano archivi RAR abusando di CVE-2025-8088 per distribuire backdoor personalizzate e facilitare operazioni di ransomware.
Suggerimenti per la Rilevazione
- Ispezione statica – Elencare le voci dell'archivio e contrassegnare qualsiasi nome contenente
../
,..\\
, percorsi assoluti (C:
) o codifiche UTF-8/UTF-16 non canoniche. - Estrazione in sandbox – Decomprimere in una directory usa e getta utilizzando un estrattore sicuro (ad es.,
patool
di Python, 7-Zip ≥ ultima versione,bsdtar
) e verificare che i percorsi risultanti rimangano all'interno della directory. - Monitoraggio degli endpoint – Allertare su nuovi eseguibili scritti nelle posizioni
Startup
/Run
poco dopo che un archivio è stato aperto da WinRAR/7-Zip/etc.
Mitigazione e Indurimento
- Aggiornare l'estrattore – WinRAR 7.13 implementa una corretta sanificazione dei percorsi. Gli utenti devono scaricarlo manualmente perché WinRAR non dispone di un meccanismo di aggiornamento automatico.
- Estrarre archivi con l'opzione “Ignora percorsi” (WinRAR: Estrai → "Non estrarre percorsi") quando possibile.
- Aprire archivi non fidati all'interno di una sandbox o VM.
- Implementare il whitelisting delle applicazioni e limitare l'accesso in scrittura degli utenti alle directory di auto-esecuzione.
Casi Aggiuntivi / Storici Colpiti
- 2018 – Massiva avviso Zip-Slip da Snyk che colpisce molte librerie Java/Go/JS.
- 2023 – 7-Zip CVE-2023-4011 simile traversale durante la fusione
-ao
. - Qualsiasi logica di estrazione personalizzata che non chiama
PathCanonicalize
/realpath
prima della scrittura.
Riferimenti
- BleepingComputer – WinRAR zero-day sfruttato per piantare malware durante l'estrazione degli archivi
- WinRAR 7.13 Changelog
- Snyk – Scrittura sulla vulnerabilità Zip Slip
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.