Safeguard
Vulnerability Analysis•

CVE-2024-4325: High High SSRF in Gradio queue/join

CVE-2024-4325 is a high severity SSRF in Gradio 4.21.0 through the queue/join endpoint. Upgrade Gradio and block access to cloud metadata addresses.

Safeguard Security Team
3 min read

CVE-2024-4325 is a High (CVSS 8.6) server side request forgery in Gradio 4.21.0. The save_url_to_cache function behind the /queue/join endpoint fetches a user supplied URL without enough checks. The record names no fixed version, so upgrade to the latest Gradio and protect the metadata endpoint.

What's affected

  • Product: gradio-app/gradio, Python package gradio, version 4.21.0 named in the description. The CPE entry is a wildcard, so other versions may be affected.
  • Affected code: the /queue/join endpoint and the save_url_to_cache function.
  • Fixed version: not given in the record, which links only a huntr report I did not fetch. Upgrade to the newest release and read its notes.
  • Severity: High, CVSS 8.6, with a changed scope. Impact is on confidentiality.
  • Exploitation: KEV is false.

How to check if you're exposed

Check the version in each environment:

pip show gradio
pip list | grep -i gradio

Then ask where your Gradio apps are hosted. The record mentions the AWS metadata endpoint as a target, so a Gradio app on a cloud VM with an attached role is the higher risk case. An app on a laptop with no internal services around it is a lower one.

What to do now

  1. Run pip show gradio in every environment, including notebooks and containers.
  2. Upgrade Gradio to the current release.
  3. On AWS, require the token based metadata service (IMDSv2) and limit the hop count, which reduces what a forged request can reach.
  4. Use egress filtering so the app host cannot call internal ranges and metadata addresses it does not need.
  5. Put authentication in front of public Gradio apps.

Why it matters

The record maps this to CWE-918, server side request forgery. The server takes a value that should be a URL and requests it for the user. If the server does not restrict the destination, the user can aim it at addresses only the server can reach.

That is why the scope changes in the score. The vulnerable app is not the end target. It is a stepping stone to internal services and cloud credentials.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Why does the record mention AWS?

The description says the flaw can reach the AWS metadata endpoint, which holds temporary credentials for the host's role.

Is my app affected if it is not public?

Less so, but anyone who can reach it can send the request. Keep access limited and upgrade.

Scan your own dependencies

Safeguard's free in-browser dependency scan at gold.safeguard.sh/scan checks a manifest against known advisories, and the Gold directory keeps this record's details in one place.

Sources

The NVD record for CVE-2024-4325 (published 2024-06-06) supplied the description, score and weakness data. Pages marked fetched were read for this post. The others are listed in the record and were not read.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.