CVE-2025-61784

LLaMA-Factory is a tuning library for large language models. Prior to version 0.9.4, a Server-Side Request Forgery (SSRF) vulnerability in the chat API allows any authenticated user to force the server to make arbitrary HTTP requests to internal and external networks. This can lead to the exposure of sensitive internal services, reconnaissance of the internal network, or interaction with third-party services. The same mechanism also allows for a Local File Inclusion (LFI) vulnerability, enabling users to read arbitrary files from the server's filesystem. The vulnerability exists in the `_process_request` function within `src/llamafactory/api/chat.py.` This function is responsible for processing incoming multimodal content, including images, videos, and audio provided via URLs. The function checks if the provided URL is a base64 data URI or a local file path (`os.path.isfile`). If neither is true, it falls back to treating the URL as a web URI and makes a direct HTTP GET request using `requests.get(url, stream=True).raw` without any validation or sanitization of the URL. Version 0.9.4 fixes the underlying issue.
Configurations

Configuration 1 (hide)

cpe:2.3:a:hiyouga:llama-factory:*:*:*:*:*:*:*:*

History

08 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) LLaMA-Factory es una biblioteca de ajuste para modelos de lenguaje grandes. Antes de la versión 0.9.4, una vulnerabilidad de falsificación de petición del lado del servidor (SSRF) en la API de chat permite a cualquier usuario autenticado forzar al servidor a realizar peticiones HTTP arbitrarias a redes internas y externas. Esto puede llevar a la exposición de servicios internos sensibles, al reconocimiento de la red interna o a la interacción con servicios de terceros. El mismo mecanismo también permite una vulnerabilidad de inclusión local de ficheros (LFI), permitiendo a los usuarios leer ficheros arbitrarios del sistema de ficheros del servidor. La vulnerabilidad existe en la función '_process_request' dentro de 'src/llamafactory/api/chat.py'. Esta función es responsable de procesar contenido multimodal entrante, incluyendo imágenes, vídeos y audio proporcionados a través de URLs. La función comprueba si la URL proporcionada es una URI de datos base64 o una ruta de fichero local ('os.path.isfile'). Si ninguna de las dos es verdadera, recurre a tratar la URL como una URI web y realiza una petición GET HTTP directa utilizando 'requests.get(url, stream=True).raw' sin ninguna validación o saneamiento de la URL. La versión 0.9.4 corrige el problema subyacente.

Information

Published : 2025-10-07 19:15

Updated : 2026-10-08 13:10


NVD link : CVE-2025-61784

Mitre link : CVE-2025-61784

CVE.ORG link : CVE-2025-61784


JSON object : View

Products Affected

hiyouga

  • llama-factory
CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-918

Server-Side Request Forgery (SSRF)