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.
Impacto
Puntuación base 4.0
6.90
Gravedad 4.0
MEDIA
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:* | 5.0.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página