Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Overview
De nombreux formats d'archive (ZIP, RAR, TAR, 7-ZIP, etc.) permettent à chaque entrée de porter son propre chemin interne. Lorsqu'un utilitaire d'extraction respecte aveuglément ce chemin, un nom de fichier conçu contenant ..
ou un chemin absolu (par exemple C:\Windows\System32\
) sera écrit en dehors du répertoire choisi par l'utilisateur. Cette classe de vulnérabilité est largement connue sous le nom de Zip-Slip ou extraction de chemin d'archive.
Les conséquences vont de l'écrasement de fichiers arbitraires à l'atteinte directe de l'exécution de code à distance (RCE) en déposant un payload dans un emplacement auto-exécutable tel que le dossier Démarrage de Windows.
Root Cause
- L'attaquant crĂ©e une archive oĂč un ou plusieurs en-tĂȘtes de fichiers contiennent :
- Séquences de traversée relatives (
..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe
) - Chemins absolus (
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe
)
- La victime extrait l'archive avec un outil vulnérable qui fait confiance au chemin intégré au lieu de le nettoyer ou de forcer l'extraction sous le répertoire choisi.
- Le fichier est écrit dans l'emplacement contrÎlé par l'attaquant et exécuté/chargé la prochaine fois que le systÚme ou l'utilisateur déclenche ce chemin.
Real-World Example â WinRAR †7.12 (CVE-2025-8088)
WinRAR pour Windows (y compris le CLI rar
/ unrar
, la DLL et la source portable) n'a pas réussi à valider les noms de fichiers lors de l'extraction. Une archive RAR malveillante contenant une entrée telle que :
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
se retrouverait en dehors du répertoire de sortie sélectionné et à l'intérieur du dossier Startup de l'utilisateur. AprÚs la connexion, Windows exécute automatiquement tout ce qui s'y trouve, offrant un RCE persistant.
Création d'une archive PoC (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/*
Options utilisées :
-ep
â stocker les chemins de fichiers exactement comme donnĂ©s (ne pas Ă©laguer le./
initial).
Livrer evil.rar
à la victime et lui demander de l'extraire avec une version vulnérable de WinRAR.
Exploitation observée dans la nature
ESET a signalé des campagnes de spear-phishing RomCom (Storm-0978/UNC2596) qui ont joint des archives RAR abusant de CVE-2025-8088 pour déployer des portes dérobées personnalisées et faciliter des opérations de ransomware.
Conseils de détection
- Inspection statique â Lister les entrĂ©es d'archive et signaler tout nom contenant
../
,..\\
, chemins absolus (C:
) ou encodages UTF-8/UTF-16 non canoniques. - Extraction en bac Ă sable â DĂ©compresser dans un rĂ©pertoire jetable en utilisant un extracteur sĂ»r (par exemple,
patool
de Python, 7-Zip â„ derniĂšre version,bsdtar
) et vĂ©rifier que les chemins rĂ©sultants restent Ă l'intĂ©rieur du rĂ©pertoire. - Surveillance des points de terminaison â Alerter sur les nouveaux exĂ©cutables Ă©crits dans les emplacements
Startup
/Run
peu aprĂšs qu'une archive soit ouverte par WinRAR/7-Zip/etc.
Atténuation et durcissement
- Mettre Ă jour l'extracteur â WinRAR 7.13 implĂ©mente une bonne sanitation des chemins. Les utilisateurs doivent le tĂ©lĂ©charger manuellement car WinRAR n'a pas de mĂ©canisme de mise Ă jour automatique.
- Extraire des archives avec l'option âIgnorer les cheminsâ (WinRAR : Extraire â "Ne pas extraire les chemins") lorsque cela est possible.
- Ouvrir des archives non fiables dans un bac Ă sable ou une VM.
- Mettre en Ćuvre une liste blanche d'applications et restreindre l'accĂšs en Ă©criture des utilisateurs aux rĂ©pertoires d'auto-exĂ©cution.
Cas supplémentaires affectés / historiques
- 2018 â Avis Zip-Slip massif par Snyk affectant de nombreuses bibliothĂšques Java/Go/JS.
- 2023 â 7-Zip CVE-2023-4011 traversĂ©e similaire lors de la fusion
-ao
. - Toute logique d'extraction personnalisée qui ne parvient pas à appeler
PathCanonicalize
/realpath
avant l'écriture.
Références
- BleepingComputer â WinRAR zero-day exploitĂ© pour implanter des malwares lors de l'extraction d'archives
- WinRAR 7.13 Changelog
- Snyk â Analyse de la vulnĂ©rabilitĂ© Zip Slip
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.