Skip to content
CriticalVulnerability

CVE-2024-47167: Gradio server-side request forgery through the /queue/join endpoint

Identifier
CVE-2024-47167
Published
Record updated
View JSON
Affected
  • gradio < 5.0.0
Fixed in
5.0.0
  • released October 9, 2024, 2 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.5%

Summary

Gradio, an open-source Python package for rapid prototyping, contains a Server-Side Request Forgery flaw in the `/queue/join` endpoint. The `async_save_url_to_cache` function lets attackers make the server send HTTP requests to user-controlled URLs, reaching internal servers or services on a local network and possibly exfiltrating data. Fetched content is stored locally, which can also let attackers upload malicious files; deployments using components such as the Video component are affected.

Mitigation

Upgrade to `gradio>=5`. As a workaround, disable or heavily restrict URL-based inputs to trusted domains only, implement stricter URL validation such as allowlist-based validation, and ensure local or internal network addresses cannot be requested via the `/queue/join` endpoint.