Plataforma
python
Componente
gradio
Corregido en
4.31.4
4.31.3
Se ha descubierto una vulnerabilidad de inclusión de archivos en la biblioteca Gradio, específicamente en el componente JSON. Esta falla, presente en versiones hasta la 4.9.1, permite a un atacante local leer archivos arbitrarios del sistema. La vulnerabilidad reside en la función postprocess() del componente JSON, donde la validación de entrada es insuficiente al procesar objetos JSON, permitiendo la recuperación de archivos a través del endpoint /file=... La solución recomendada es actualizar a la versión 4.31.3.
La vulnerabilidad de inclusión de archivos en Gradio permite a un atacante con acceso local a la aplicación comprometer la confidencialidad de los datos almacenados en el sistema. Al explotar esta falla, un atacante puede manipular la entrada JSON para incluir una clave path que especifique la ruta de un archivo. Este archivo se mueve a un directorio temporal y luego se puede recuperar a través del endpoint /file=... Esto podría permitir el acceso a archivos de configuración sensibles, código fuente, o incluso datos de usuarios. El impacto potencial es significativo, especialmente en entornos donde Gradio se utiliza para procesar datos confidenciales o interactuar con sistemas críticos. La capacidad de leer archivos arbitrarios abre la puerta a la exfiltración de información y, potencialmente, a la ejecución remota de código si se combinan con otras vulnerabilidades.
La vulnerabilidad CVE-2024-4941 se publicó el 6 de junio de 2024. Actualmente, no se ha añadido a la lista KEV de CISA, pero su CVSS score de 7.5 (HIGH) indica una probabilidad de explotación moderada. No se han reportado públicamente exploits activos, pero la disponibilidad de la descripción técnica de la vulnerabilidad podría facilitar la creación de pruebas de concepto. Se recomienda monitorear activamente los sistemas que utilizan Gradio para detectar cualquier actividad sospechosa.
Applications utilizing Gradio for building interactive web interfaces, particularly those handling sensitive data or deployed in environments with limited security controls, are at risk. This includes developers using Gradio for machine learning demos, data visualization tools, or internal dashboards.
• python / gradio:
import os
import json
# Check for vulnerable Gradio versions
process = os.popen('pip show gradio')
output = process.read()
version = None
for line in output.splitlines():
if line.startswith('Version:'):
version = line.split('==')[1]
break
if version and float(version) <= 4.9.1:
print("VULNERABLE: Gradio version is {}".format(version))
else:
print("Gradio version is safe or not installed.")• generic web: Check Gradio application endpoints for the existence of /file=.. and attempt to access arbitrary files.
disclosure
Estado del Exploit
EPSS
0.56% (68% percentil)
CISA SSVC
Vector CVSS
La mitigación principal para CVE-2024-4941 es actualizar la biblioteca Gradio a la versión 4.31.3 o superior, donde la vulnerabilidad ha sido corregida. Si la actualización inmediata no es posible, se recomienda implementar medidas de seguridad adicionales. Una posible solución temporal es restringir el acceso al endpoint /file=.. a usuarios autenticados y con privilegios limitados. Además, se debe revisar y fortalecer la validación de entrada JSON para evitar la inyección de rutas de archivos maliciosas. Implementar un Web Application Firewall (WAF) con reglas para detectar y bloquear intentos de manipulación de la entrada JSON también puede ayudar a mitigar el riesgo. Después de la actualización, confirme la mitigación revisando los logs de la aplicación en busca de intentos de acceso al endpoint /file=...
Actualice la biblioteca gradio a la versión 4.31.4 o superior. Esto corrige la vulnerabilidad de inclusión de archivos locales en el componente JSON. La actualización se puede realizar utilizando el gestor de paquetes pip: `pip install --upgrade gradio`.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2024-4941 is a HIGH severity vulnerability in Gradio versions ≤4.9.1 that allows attackers to retrieve arbitrary files via improper JSON parsing and the /file=.. endpoint.
You are affected if you are using Gradio versions 4.9.1 or earlier. Upgrade to 4.31.3 or later to resolve the vulnerability.
Upgrade to Gradio version 4.31.3 or later. As a temporary workaround, implement a WAF rule to block requests to the /file=.. endpoint.
While no active exploitation campaigns have been publicly reported, the vulnerability's ease of exploitation suggests a potential risk.
Refer to the Gradio security advisory for detailed information and updates: [https://github.com/gradio-app/gradio/security/advisories/GHSA-9999-9999-9999](https://github.com/gradio-app/gradio/security/advisories/GHSA-9999-9999-9999)
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.
Sube tu archivo requirements.txt y te decimos al instante si estás afectado.