
PoC en langage C pour émuler la vulnérabilité de traversée de chemin (CVE-2025-5964) dans M-Files25.6.14925.0
Auteur : Byte Reaper
Telegram : @ByteReaper0
Ce dépôt contient une Preuve de Concept (PoC) en C pour une vulnérabilité suspectée de Path Traversal dans M‑Files version 25.6.14925.0.
La PoC (fichier exploit.c) tente de lire des fichiers sensibles (ex. /etc/passwd) en injectant des charges utiles de traversée dans les points de terminaison REST API.
Ce n’est pas un exploit confirmé :
Tous les paramètres et points de terminaison ont été déduits de la documentation publique et de l’OSINT.
Je n’ai pas accès à une instance sous licence ou démo de M‑Files pour vérifier cela en situation réelle.
Utilisation responsable :
N’exécutez pas ce code contre des systèmes dont vous n’êtes pas propriétaire ou pour lesquels vous n’avez pas une autorisation explicite de test.
Ce code est fourni uniquement à des fins de recherche et de tests de sécurité autorisés.
Contact :
Si vous avez accès à une instance fonctionnelle de M‑Files 25.6.14925.0 (essai gratuit ou sous licence), merci de me contacter sur Telegram pour affiner cette PoC :
@ByteReaper0
| Nom du fichier | Description |
|---|---|
Vous avez besoin de :
# Sur Debian/Ubuntu :
sudo apt update && sudo apt install build-essential libcurl4-openssl-dev
# Compilation :
gcc exploit.c argparse.c -o CVE-2025-5964 -lcurl
./CVE-2025-5964 -u <TARGET_URL>
Remplacez <TARGET_URL> par votre point de terminaison M‑Files, par exemple :
./CVE-2025-5964 -u http://192.168.0.10
La PoC itérera sur un ensemble de charges utiles de traversée contre ces paramètres de requête :
?q=
?o=
?d=
Elle affiche chaque URL testée, le code de réponse HTTP (ex. 200 ou 404), et signale toute réponse contenant des marqueurs de système de fichiers courants (root:x:, /bin/bash, etc.) comme un « Potentiel hit LFI. »
Parcourt une liste de chaînes User‑Agent réalistes pour aider à contourner un filtrage naïf.
Une variété de variantes ../, encodées en URL et en Base64, pour maximiser les chances de contournement.
Un sleep() de 1 seconde entre les requêtes pour éviter de déclencher des limites de débit simples ou des règles WAF.
payloads[] dans exploit.c.agentSend() ou ajoutez des appels curl_slist_append().Ce code est destiné à la recherche en sécurité, à la divulgation responsable et aux tests privés.
Fourni « en l’état », sans aucune garantie de fonctionnement ou de sécurité.
Exécuter cette PoC contre des cibles non autorisées peut violer les lois. Obtenez toujours une autorisation.
Byte Reaper
Telegram : @ByteReaper0
exploit.c |
| Code source principal de la PoC ; envoie des charges utiles de traversée à l’API REST M‑Files |
argparse.c | Assistant simple d’analyse des arguments en ligne de commande |
argparse.h | En-tête pour argparse.c |
README.md | Cette documentation |