
Ce PoC Python exploite CVE-2024-46987, un bug de traversée de chemin dans Camaleon CMS 2.8.0 < 2.8.2 (fonctionne sur 2.9.0). Il permet aux utilisateurs authentifiés de lire des fichiers sensibles du serveur via le MediaController. Destiné uniquement à l'audit de sécurité autorisé et à la recherche éducative.
Ce dépôt contient un script de Preuve de Concept (PoC) pour CVE-2024-46987, qui permet la lecture arbitraire de fichiers (LFI / Path Traversal) sur Camaleon CMS.
Une vulnérabilité de Path Traversal a été identifiée dans Camaleon CMS versions 2.8.0 à < 2.8.2 (fonctionne étrangement aussi sur 2.9.0). Elle se trouve dans la méthode download_private_file de MediaController.
Cette vulnérabilité permet à un utilisateur authentifié de télécharger des fichiers arbitraires depuis le serveur en manipulant le paramètre file. Si l'application s'exécute avec des privilèges élevés ou si des fichiers sensibles sont accessibles à l'utilisateur système qui exécute le CMS, cela peut entraîner une fuite d'informations critiques (fichiers de configuration, code source, etc.).
Détails techniques:
requestsVous pouvez installer les dépendances avec la commande suivante :
pip install requests
Le script nécessite un compte utilisateur valide sur le CMS cible pour s'authentifier et récupérer le jeton CSRF nécessaire à l'exploitation.
python3 CVE-2024-46987.py -u <URL> -l <USERNAME> -p <PASSWORD> <FILE_TO_READ>
-u, --url: URL de base du site cible (ex. http://example.com).-l, --user: Nom d'utilisateur pour l'authentification.-p, --password: Mot de passe pour l'authentification.--path: (Optionnel) Chemin vers le point de terminaison vulnérable. Défaut: admin/media/download_private_file.-v, --verbose: Activer le mode verbeux pour voir les étapes de connexion.file: Le chemin du fichier à lire sur le serveur (ex. /etc/passwd).Lire le fichier /etc/passwd :
python3 CVE-2024-46987.py -u http://target-cms.local -l admin -p password123 /etc/passwd
Utiliser le mode verbeux :
python3 CVE-2024-46987.py -u http://target-cms.local -l user -p pass -v /etc/hosts
Ce code est fourni à des fins éducatives et de recherche en sécurité uniquement. L'utilisation de ce script contre des cibles sans autorisation préalable est illégale. L'auteur décline toute responsabilité en cas d'utilisation abusive.
Assurez-vous toujours d'avoir une autorisation explicite avant d'effectuer des tests de pénétration.