Local File Inclusion in JSON component in gradio-app/gradio
Published Jun 6, 2024
7.5
HIGHCVSS 3.1
EPSS 0.83%
Description
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.
Affected products
-
Affected
- ≥ unspecified, < 4.31.4
Default status is the baseline for the product. Each version can override it (patched versions can be marked unaffected).
| Vendor | Product | Default status | Versions |
|---|---|---|---|
| Gradio-App | Gradio-App/gradio | unknown | Affected
|
- < 4.31.4
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
References (6)
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-0063 Advisory
- https://github.com/advisories/GHSA-6v6g-j5fq-hpvw Advisory
- https://github.com/gradio-app/gradio/commit/ee1e2942e0a1ae84a08a05464e41c8108a03fa9c Patch
- https://github.com/pypa/advisory-database/tree/main/vulns/gradio/PYSEC-2024-184.yaml
- https://huntr.com/bounties/39889ce1-298d-4568-aecd-7ae40c2ca58e ExploitThird Party Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2024-4941
Change history (0)
No recorded changes yet.
CVE.org / MITRE
CISA Vulnrichment
Red Hat
No data
GitHub