Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
CVE-2024-1561 — CVE-2024-1561 - Gradio Lectura Arbitraria de Archivos | Kitploit
Herramientas/GitHubGitHub/k3ystr0k3r/cve-2024-1561
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubk3ystr0k3r/cve-2024-1561

CVE-2024-1561

CVE-2024-1561 - Gradio Lectura Arbitraria de Archivos

Ver Repositorio
3hace 2 mesesAún no revisado

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

CVE-2024-1561 - Lectura Arbitraria de Archivos en Gradio

CVE-2024-1561 es una vulnerabilidad de lectura arbitraria de archivos que afecta a Gradio en versiones anteriores a la 4.13.0. Gradio es un popular framework de Python utilizado para construir rápidamente interfaces web para modelos de aprendizaje automático y aplicaciones de IA.

La vulnerabilidad existe porque el endpoint /component_server no restringe adecuadamente qué métodos de la clase interna Component pueden ser invocados. Un atacante puede abusar de este comportamiento para llamar a métodos que nunca fueron diseñados para ser expuestos a través de HTTP.

Uno de estos métodos, move_resource_to_block_cache, permite copiar un archivo del sistema de archivos local al directorio de caché temporal de Gradio. Una vez copiado el archivo, se vuelve accesible a través del endpoint /file, permitiendo a un atacante recuperar su contenido.

Aunque la vulnerabilidad no proporciona directamente ejecución remota de código, puede exponer archivos sensibles del servidor y puede ser aprovechada para obtener credenciales, archivos de configuración, claves API, tokens u otra información útil para ataques posteriores.


Versiones Afectadas

  • Gradio < 4.13.0

Las versiones 4.13.0 y posteriores contienen las comprobaciones de seguridad necesarias para prevenir la invocación arbitraria de métodos.


Causa Raíz

El problema se origina por una validación insuficiente dentro del endpoint /component_server.

En lugar de limitar las solicitudes a una lista segura de funciones invocables, Gradio permitía a los atacantes especificar nombres de métodos arbitrarios pertenecientes a una instancia de componente.

Debido a que el método interno:

move_resource_to_block_cache()

acepta una ruta del sistema de archivos como entrada, un atacante puede indicar a la aplicación que almacene en caché cualquier archivo legible en el servidor.

Una vez en caché, el archivo se expone a través de la funcionalidad normal de servidor de archivos de Gradio.


Proceso de Explotación

Un ataque exitoso generalmente sigue estos pasos:

  1. Consultar el endpoint /config.
  2. Obtener un ID de componente válido.
  3. Enviar una solicitud a /component_server.
  4. Invocar el método move_resource_to_block_cache.
  5. Proporcionar la ruta de un archivo objetivo (por ejemplo /etc/passwd).
  6. Recibir la ruta de caché temporal en la respuesta del servidor.
  7. Descargar el archivo en caché a través del endpoint /file.

Este proceso permite recuperar de forma remota cualquier archivo legible por el proceso de Gradio.


Ejemplo de Solicitud

POST /component_server HTTP/1.1
Host: target
Content-Type: application/json

{
    "component_id": "3",
    "data": "/etc/passwd",
    "fn_name": "move_resource_to_block_cache",
    "session_hash": "aaaaaaaaaaa"
}

Si tiene éxito, Gradio devuelve la ubicación del archivo en caché.

El atacante puede entonces solicitar:

GET /file=/tmp/gradio/<cached-file>/passwd HTTP/1.1
Host: target

para recuperar el contenido.


Impacto de Seguridad

Una explotación exitosa puede permitir a un atacante leer archivos sensibles, incluyendo:

  • /etc/passwd
  • Claves SSH privadas
  • Archivos de entorno (.env)
  • Tokens de API
  • Credenciales en la nube
  • Archivos de configuración de la aplicación
  • Credenciales de base de datos
  • Código fuente
  • Secretos de autenticación

El impacto depende de los privilegios de la aplicación Gradio.


Mitigación

Para remediar esta vulnerabilidad:

  • Actualizar Gradio a 4.13.0 o posterior.
  • Evitar exponer aplicaciones Gradio directamente a Internet público.
  • Requerir autenticación siempre que sea posible.
  • Restringir el acceso mediante un proxy inverso o firewall.
  • Ejecutar Gradio con los mínimos privilegios necesarios.
  • Evitar almacenar credenciales sensibles en ubicaciones accesibles al proceso de la aplicación.

Referencias

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2024-1561
  • Parche: https://github.com/gradio-app/gradio/pull/6884

Aviso Legal

Este repositorio se proporciona únicamente con fines educativos, de investigación en seguridad y pruebas de penetración autorizadas. Obtenga siempre permiso explícito antes de probar sistemas que no posea o para los que no tenga autorización de evaluación.

Descargar herramienta