
Exploit de preuve de concept pour la vulnérabilité de traversée de chemin de WinRAR (CVE-2025-8088) utilisant les Alternate Data Streams pour créer des archives RAR malveillantes à des fins de recherche éducative.

Une preuve de concept démontrant la vulnérabilité de traversée de chemin de WinRAR (CVE-2025-8088) affectant les versions ≤ 7.12.
CVE ID : CVE-2025-8088
Score CVSS : 8.4 (Élevé)
Versions affectées : WinRAR ≤ 7.12
Version corrigée : Corrigé dans WinRAR 7.13
Type de vulnérabilité : Traversée de chemin via des flux de données alternatifs (ADS)
CVE-2025-8088 est une vulnérabilité de traversée de chemin dans WinRAR, affectant les versions Windows jusqu'à 7.12, ainsi que les outils associés comme UnRAR.dll et son code source portable.
La faille permet aux attaquants d'incorporer des charges utiles malveillantes dans des ADS au sein d'archives RAR spécialement conçues, permettant une extraction vers des emplacements sensibles du système (par exemple, le dossier Démarrage Windows).
Cela peut entraîner l'exécution automatique de fichiers malveillants, tels que des DLL ou des fichiers de raccourci (.lnk), au redémarrage du système.
L'exploitation utilise des séquences de traversée de chemin (..) dans les chemins ADS d'une archive RAR.
Ce script crée une archive RAR malveillante pour démontrer la vulnérabilité CVE-2025-8088.
Il nécessite Python et l'accès à rar.exe (l'outil en ligne de commande de WinRAR).
rar.exe est dans votre PATH système ou spécifiez son chemin à l'aide de l'argument --rar.Créez une archive RAR malveillante avec un fichier leurre, une charge utile et un dossier de destination cible, en spécifiant le chemin vers rar.exe :
python Exploit.py --decoy resume.txt --payload payload.bat --drop "C:\Users\you\Documents" --rar "C:\Program Files\WinRAR\rar.exe"
Avertissement : Cet outil est destiné uniquement à des fins éducatives et de recherche. Ne l'utilisez pas pour nuire à des systèmes ou réseaux. L'auteur n'est pas responsable d'une mauvaise utilisation ou des dommages causés par ce script.
| Argument | Description | Requis ? | Valeur par défaut |
|---|
--decoy | Chemin vers le fichier leurre (existant ou sera créé) | Oui | - |
--payload | Chemin vers le fichier de charge utile inoffensif (existant ou sera créé) | Oui | - |
--drop | Chemin absolu vers un dossier bénin (ex. C:\Users\vous\Documents) | Oui | - |
--rar | Chemin vers rar.exe (détection automatique si omis) | Non | Détection automatique |
--out | Nom du fichier RAR de sortie | Non | winrar_exploit.rar |
--workdir | Répertoire de travail | Non | Répertoire courant (.) |
--placeholder_len | Longueur du placeholder ADS (auto : ≥ max(len(injecté), 128)) | Non | Calcul automatique |
--max_up | Nombre de segments .. à préfixer | Non | 16 |
--keep_temp | Conserver le fichier RAR de base temporaire | Non | - |