Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Gradio (CVE-2024-47167)

Gravedad CVSS v4.0:
MEDIA
Tipo:
CWE-918 Falsificación de solicitud en servidor (SSRF)
Fecha de publicación:
10/10/2024
Última modificación:
17/10/2024

Descripción

Gradio es un paquete Python de código abierto diseñado para la creación rápida de prototipos. Esta vulnerabilidad está relacionada con Server-Side Request Forgery (SSRF) en el endpoint `/queue/join`. La función `async_save_url_to_cache` de Gradio permite a los atacantes obligar al servidor Gradio a enviar solicitudes HTTP a URL controladas por el usuario. Esto podría permitir a los atacantes apuntar a servidores o servicios internos dentro de una red local y posiblemente exfiltrar datos o causar solicitudes internas no deseadas. Además, el contenido de estas URL se almacena localmente, lo que facilita que los atacantes carguen archivos potencialmente maliciosos al servidor. Esto afecta a los usuarios que implementan servidores Gradio que usan componentes como el componente Video que implica la obtención de URL. Se recomienda a los usuarios que actualicen a `gradio>=5` para solucionar este problema. Como workaround, los usuarios pueden deshabilitar o restringir en gran medida las entradas basadas en URL en sus aplicaciones Gradio solo a dominios confiables. Además, implementar una validación de URL más estricta (como una validación basada en listas de permisos) y garantizar que no se puedan solicitar direcciones de red locales o internas a través del endpoint `/queue/join` puede ayudar a mitigar el riesgo de ataques SSRF.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:* 5.0.0 (excluyendo)


Referencias a soluciones, herramientas e información