CVE-2024-4941

A local file inclusion vulnerability exists in the JSON component of gradio-app/gradio version 4.25. The vulnerability arises from improper input validation in the `postprocess()` function within `gradio/components/json_component.py`, where a user-controlled string is parsed as JSON. If the parsed JSON object contains a `path` key, the specified file is moved to a temporary directory, making it possible to retrieve it later via the `/file=..` endpoint. This issue is due to the `processing_utils.move_files_to_cache()` function traversing any object passed to it, looking for a dictionary with a `path` key, and then copying the specified file to a temporary directory. The vulnerability can be exploited by an attacker to read files on the remote system, posing a significant security risk.
Configurations

Configuration 1 (hide)

cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:*

History

09 Oct 2024, 16:24

Type Values Removed Values Added
CWE NVD-CWE-noinfo
First Time Gradio Project
Gradio Project gradio
CPE cpe:2.3:a:gradio_project:gradio:*:*:*:*:*:python:*:*
References () https://github.com/gradio-app/gradio/commit/ee1e2942e0a1ae84a08a05464e41c8108a03fa9c - () https://github.com/gradio-app/gradio/commit/ee1e2942e0a1ae84a08a05464e41c8108a03fa9c - Patch
References () https://huntr.com/bounties/39889ce1-298d-4568-aecd-7ae40c2ca58e - () https://huntr.com/bounties/39889ce1-298d-4568-aecd-7ae40c2ca58e - Exploit, Third Party Advisory

07 Jun 2024, 14:56

Type Values Removed Values Added
Summary
  • (es) Existe una vulnerabilidad de inclusión de archivos locales en el componente JSON de gradio-app/gradio versión 4.25. La vulnerabilidad surge de una validación de entrada incorrecta en la función `postprocess()` dentro de `gradio/components/json_component.py`, donde una cadena controlada por el usuario se analiza como JSON. Si el objeto JSON analizado contiene una clave `ruta`, el archivo especificado se mueve a un directorio temporal, lo que permite recuperarlo más tarde a través del endpoint `/file=..`. Este problema se debe a que la función `processing_utils.move_files_to_cache()` atraviesa cualquier objeto que se le pasa, busca un diccionario con una clave `path` y luego copia el archivo especificado en un directorio temporal. Un atacante puede aprovechar la vulnerabilidad para leer archivos en el sistema remoto, lo que representa un riesgo de seguridad significativo.

06 Jun 2024, 18:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-06-06 18:15

Updated : 2024-10-09 16:24


NVD link : CVE-2024-4941

Mitre link : CVE-2024-4941

CVE.ORG link : CVE-2024-4941


JSON object : View

Products Affected

gradio_project

  • gradio
CWE
NVD-CWE-noinfo CWE-20

Improper Input Validation