CVE-2024-1561
Arbitrary Local File Read via Component Method Invocation in gradio-app/gradio
An issue was discovered in gradio-app/gradio, where the `/component_server` endpoint improperly allows the invocation of any method on a `Component` class with attacker-controlled arguments. Specifically, by exploiting the `move_resource_to_block_cache()` method of the `Block` class, an attacker can copy any file on the filesystem to a temporary directory and subsequently retrieve it. This vulnerability enables unauthorized local file read access, posing a significant risk especially when the application is exposed to the internet via `launch(share=True)`, thereby allowing remote attackers to read files on the host machine. Furthermore, gradio apps hosted on `huggingface.co` are also affected, potentially leading to the exposure of sensitive information such as API keys and credentials stored in environment variables.
- Affected
- gradio-app · gradio-app/gradio
- CVSS v3.0 HUNTR
- 7.5 HIGH
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - EPSS
- 9.31% chance of exploitation in the next 30 days, 95th percentile
- Nuclei
- high · CWE-29
- Published
- 2024-04-16
- Updated
- 2025-02-13
Proof-of-concept exploits (1)
- DiabloHTB/CVE-2024-15614★ · 2024-05-11
Nuclei templates (1)
Vulhub environments (1)
Security advisories
- https://huntr.com/bounties/4acf584e-2fe8-490e-878d-2d9bf2698338
- advisories/GHSA-g9cj-cfpp-4g2x
- gradio-app/gradio/commit/24a583688046867ca8b8b02959c441818bdb34a2
- https://www.gradio.app/changelog#4-13-0