gradio-app/gradio · Security
Gradio makes the `/file` secure against file traversal and server-side request forgery attacks
- GHSA ID
- GHSA-6qm2-wpxq-7qh2
- CVE ID
- CVE-2023-51449
- Severity
- high
- Published
- Updated
- CVSS
- 8.6 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
- CVSS v3
- 8.6 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Description
Older versions of gradio contained a vulnerability in the /file route which made them susceptible to file traversal attacks in which an attacker could access arbitrary files on a machine running a Gradio app with a public URL (e.g. if the demo was created with share=True, or on Hugging Face Spaces) if they knew the path of files to look for.
This was not possible through regular URLs passed into a browser, but it was possible through the use of programmatic tools such as curl with the --pass-as-is flag.
Furthermore, the /file route in Gradio apps also contained a vulnerability that made it possible to use it for SSRF attacks.
Both of these vulnerabilities have been fixed in gradio==4.11.0
CWEs
- CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
References
- https://github.com/gradio-app/gradio/security/advisories/GHSA-6qm2-wpxq-7qh2 ↗
- https://github.com/gradio-app/gradio/commit/1b9d4234d6c25ef250d882c7b90e1f4039ed2d76 ↗
- https://github.com/gradio-app/gradio/commit/7ba8c5da45b004edd12c0460be9222f5b5f5f055 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-51449 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/gradio/PYSEC-2023-249.yaml ↗
- https://github.com/advisories/GHSA-6qm2-wpxq-7qh2 ↗