An SSRF vulnerability exists in the gradio-app/gradio due to insufficient validation of user-supplied URLs in the /proxy
route. Attackers can exploit this vulnerability by manipulating the self.replica_urls
set through the X-Direct-Url
header in requests to the /
and /config
routes, allowing the addition of arbitrary URLs for proxying. This flaw enables unauthorized proxying of requests and potential access to internal endpoints within the Hugging Face space. The issue arises from the applications inadequate checking of safe URLs in the build_proxy_request
function.
The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.