Local file inclusion in gradio
High severity
GitHub Reviewed
Published
Jun 6, 2024
to the GitHub Advisory Database
•
Updated Jun 6, 2024
Description
Published by the National Vulnerability Database
Jun 6, 2024
Published to the GitHub Advisory Database
Jun 6, 2024
Reviewed
Jun 6, 2024
Last updated
Jun 6, 2024
A local file inclusion vulnerability exists in the JSON component of gradio-app/gradio and was discovered in version 4.25. The vulnerability arises from improper input validation in the
postprocess()
function withingradio/components/json_component.py
, where a user-controlled string is parsed as JSON. If the parsed JSON object contains apath
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 theprocessing_utils.move_files_to_cache()
function traversing any object passed to it, looking for a dictionary with apath
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.References