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
Outils/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsTests d'Intrusion
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

PoC pour CVE-2025-10952 — lecture arbitraire de fichiers non authentifiée dans ml-logger. CVSS 5.3

Voir le dépôt
il y a 9h 40mPas 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-10952 — Lecture arbitraire de fichiers via stream_handler de ml-logger

Ce dépôt fournit un script Python autonome — CVE-2025-10952.py — qui exploite une vulnérabilité de lecture arbitraire de fichiers non authentifiée dans stream_handler de ml-logger, chaînée avec l'endpoint /glob pour l'énumération du système de fichiers.

Lorsqu'il est exécuté contre une instance vulnérable de ml-logger, il permet de :

  • Énumérer les fichiers sur l'hôte cible via l'endpoint /glob (non authentifié, sans restriction de chemin en dehors du périmètre prévu).
  • Lire un fichier arbitraire via l'endpoint /stream en fournissant un paramètre spécialement conçu qui contourne la logique de jointure du chemin de base du gestionnaire.
key
  • Enregistrer éventuellement le fichier récupéré sur le disque pour une utilisation ultérieure (par exemple, une clé privée SSH exfiltrée).
  • Étant donné que stream_handler transmet le champ key fourni par le client directement dans un appel de résolution de chemin et de streaming sans vérification de confinement, un attaquant réseau non authentifié peut lire n'importe quel fichier accessible à l'utilisateur OS du service.

    Détails de la vulnérabilité (CVE-2025-10952)

    • Composant : ml_logger/server.py — stream_handler (gestionnaire de fichiers)
    • Faiblesse : CWE-200 (Exposition d'informations sensibles à un acteur non autorisé), CWE-284 (Contrôle d'accès inapproprié)
    • CVSS 3.1 : 5.3 (Moyen) — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    • Versions affectées : geyang/ml-logger, toutes les versions jusqu'au commit acf255bade5be6ad88d90735c8367b28cbe3a743 (projet à publication continue ; aucune version corrigée publiée au moment de la divulgation)
    • Accès requis : Aucun (non authentifié)

    stream_handler accepte un corps JSON contenant un champ key et le transmet directement dans un appel de lecture de fichier sans assainissement du chemin. L'endpoint frère glob_handler implémente des restrictions partielles de chemin (blocage des chemins absolus et des traversées), mais stream_handler ne partage pas cette validation — une double barre oblique initiale dans key (par exemple //root/.ssh/id_rsa) suffit pour sortir du répertoire de base prévu.

    Prérequis

    • Python 3.8+
    • Accès réseau à une instance API ml-logger vulnérable
    • Aucun identifiant d'aucune sorte

    Installation et configuration

    root@kitploit:~
    git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
    cd CVE-2025-10952-ml-logger-AFR
    pip install -r requirements.txt
    

    Utilisation

    Énumérer les fichiers :

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"
    

    Lire un fichier arbitraire :

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"
    

    Lire et enregistrer sur le disque :

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
    chmod 600 id_rsa_root
    ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET
    

    --port est défini par défaut sur 8081, le port par défaut de l'API de courtage de fichiers de ml-logger dans un déploiement standard. Le frontend du tableau de bord est généralement servi sur un port séparé et ne fait pas partie du chemin vulnérable.

    Déroulement de l'exploitation

    1. Confirmer que l'endpoint /glob de la cible répond 405 Method Not Allowed avec Allow: POST — cela identifie le port API par rapport au frontend statique du tableau de bord.
    2. Énumérer les chemins accessibles avec --glob pour cartographier les fichiers intéressants (clés SSH, configurations, magasins d'identifiants).
    3. Récupérer un fichier cible avec --read, en utilisant une double barre oblique initiale pour les chemins absolus.
    4. Si le fichier est une clé privée, l'utiliser directement pour l'authentification (voir Utilisation ci-dessus).

    Détection et atténuation

    • Réseau : Alerter sur les champs JSON de type key/path contenant .., des doubles barres obliques initiales (//), ou des préfixes de chemins absolus (/etc, /root, /proc) dirigés vers les ports du service ml-logger.
    • Hôte : La surveillance de l'intégrité des fichiers ou des accès sur ~/.ssh/, /etc/shadow, /etc/passwd devrait signaler les lectures provenant de l'identité du processus ml-logger.
    • Exposition : Ne jamais exposer ml-logger à un réseau non fiable sans un proxy inverse d'authentification devant lui.
    • Correction : Appliquer un confinement de chemin (résolution os.path.realpath() vérifiée par rapport à un répertoire de base sur liste blanche) dans stream_handler ; exécuter le service sous un compte OS dédié et non privilégié.

    Références

    • NVD : https://nvd.nist.gov/vuln/detail/CVE-2025-10952
    • Avis GitHub : https://github.com/advisories/GHSA-9x36-c74v-fgr6
    • Rapport original : https://github.com/geyang/ml-logger/issues/74
    • Projet : https://github.com/geyang/ml-logger

    ⚠️ Avertissement

    Ce dépôt contient une preuve de concept d'exploitation pour CVE-2025-10952, une vulnérabilité de divulgation d'informations non authentifiée dans ml-logger. Utilisez ce code uniquement dans des environnements que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test. L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par ce logiciel.

    Licence

    Voir LICENSE.

    Télécharger l’outil