CVE-2024-8966: Gradio: DoS via malformed multipart boundary
GHSA-5cpq-9538-jm2j HIGH PoC AVAILABLE CISA: TRACK*Any Gradio deployment at or below version 5.22.0 is exploitable by unauthenticated remote attackers with a single crafted file upload request, rendering ML demos and internal AI tooling inaccessible. Patch to the latest Gradio release immediately and audit your AI system inventory for externally-exposed Gradio instances. As an interim control, enforce WAF rate-limiting and payload size restrictions on multipart upload endpoints.
What is the risk?
Risk is elevated for organizations running Gradio as a public-facing ML demo or internal AI tooling interface. CVSS 7.5 with no authentication, no user interaction, and network-accessible attack vector makes this trivially exploitable. EPSS of 0.00221 suggests limited current exploitation activity, and no CISA KEV listing confirms no observed mass exploitation. However, the attack requires zero specialized knowledge and can be automated, making it attractive for disruption campaigns targeting AI teams during critical model evaluation or deployment windows.
What systems are affected?
How severe is it?
What is the attack surface?
What should I do?
5 steps-
Patch: Upgrade Gradio to a version beyond 5.22.0; the fix commit f1718c47 is referenced upstream — verify your installed version against the patched release.
-
Network controls: Place a WAF or reverse proxy in front of Gradio with strict multipart boundary length limits and request rate-limiting per IP.
-
Access restriction: If Gradio is not required to be public, enforce network-level access controls (VPN, allowlist) immediately.
-
Detection: Alert on abnormally high CPU utilization from the Gradio process and repeated HTTP 499/503 responses on upload endpoints.
-
Inventory: Enumerate all Gradio instances across dev, staging, and prod environments — HuggingFace Spaces deployments are included in scope.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2024-8966?
Any Gradio deployment at or below version 5.22.0 is exploitable by unauthenticated remote attackers with a single crafted file upload request, rendering ML demos and internal AI tooling inaccessible. Patch to the latest Gradio release immediately and audit your AI system inventory for externally-exposed Gradio instances. As an interim control, enforce WAF rate-limiting and payload size restrictions on multipart upload endpoints.
Is CVE-2024-8966 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2024-8966, increasing the risk of exploitation.
How to fix CVE-2024-8966?
1. Patch: Upgrade Gradio to a version beyond 5.22.0; the fix commit f1718c47 is referenced upstream — verify your installed version against the patched release. 2. Network controls: Place a WAF or reverse proxy in front of Gradio with strict multipart boundary length limits and request rate-limiting per IP. 3. Access restriction: If Gradio is not required to be public, enforce network-level access controls (VPN, allowlist) immediately. 4. Detection: Alert on abnormally high CPU utilization from the Gradio process and repeated HTTP 499/503 responses on upload endpoints. 5. Inventory: Enumerate all Gradio instances across dev, staging, and prod environments — HuggingFace Spaces deployments are included in scope.
What systems are affected by CVE-2024-8966?
This vulnerability affects the following AI/ML architecture patterns: ML model serving UI, LLM playground interfaces, AI demo deployments, Internal AI tooling portals, Human-in-the-loop review pipelines.
What is the CVSS score for CVE-2024-8966?
CVE-2024-8966 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.74%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029 Denial of AI Service AML.T0034 Cost Harvesting AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
A vulnerability in the file upload process of gradio-app/gradio version @gradio/video@0.10.2 allows for a Denial of Service (DoS) attack. An attacker can append a large number of characters to the end of a multipart boundary, causing the system to continuously process each character and issue warnings. This can render Gradio inaccessible for extended periods, disrupting services and causing significant downtime.
Exploitation Scenario
An adversary targeting an organization's AI evaluation portal identifies a public-facing Gradio instance running a fine-tuned LLM demo. Using a simple curl command or Python script, they craft a multipart form upload where the boundary string is padded with tens of thousands of arbitrary characters. The Gradio server begins processing each character sequentially, emitting warnings and saturating the event loop. Within seconds, the server stops responding to legitimate requests. The adversary repeats this from multiple IPs or via a botnet, maintaining the DoS condition and blocking the security team's access to AI-assisted tooling or disrupting a time-sensitive model evaluation window prior to a product launch.
Weaknesses (CWE)
CWE-400 Uncontrolled Resource Consumption
Primary
CWE-770 Allocation of Resources Without Limits or Throttling
Primary
CWE-770 Allocation of Resources Without Limits or Throttling CWE-400 — Uncontrolled Resource Consumption: The product does not properly control the allocation and maintenance of a limited resource.
- [Architecture and Design] Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
- [Architecture and Design] Mitigation of resource exhaustion attacks requires that the target system either: The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question. The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker. recognizes the attack and denies that user further access for a given amount of time, or uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H References
- github.com/advisories/GHSA-5cpq-9538-jm2j
- nvd.nist.gov/vuln/detail/CVE-2024-8966
- github.com/gradio-app/gradio/commit/f1718c47137f9c60240da7afe5e3290aa0f1cb47
- huntr.com/bounties/7b5932bb-58d1-4e71-b85c-43dc40522ff2 Exploit
- github.com/Alan-xh/video_search_and_summarization Exploit
- github.com/NVIDIA-AI-Blueprints/video-search-and-summarization Exploit
- github.com/franzheffa/video-search-and-summarization-viize Exploit
- github.com/gil-feldman-glidetalk/video-search-and-summarization Exploit
- github.com/omarubilla/vss Exploit
- github.com/rmkraus/video-search-and-summarization Exploit
Timeline
Related Vulnerabilities
CVE-2023-25823 9.8 Gradio: hardcoded SSH key leaks via share=True demos
Same package: gradio CVE-2024-47167 9.8 Gradio: unauthenticated SSRF in /queue/join, internal pivot
Same package: gradio CVE-2024-39236 9.8 Gradio: code injection via component metadata (CVSS 9.8)
Same package: gradio CVE-2024-0964 9.4 Gradio: unauthenticated LFI exposes full server filesystem
Same package: gradio CVE-2023-34239 9.1 Gradio: path traversal + SSRF exposes model files & infra
Same package: gradio