CVE-2024-10648: Gradio: path traversal enables arbitrary file deletion DoS
GHSA-pgfv-gvc5-prfg HIGH PoC AVAILABLE CISA: TRACK*Any Gradio instance (versions 4.0.0–5.0.0b2) exposed to a network is vulnerable to unauthenticated file-wiping attacks via crafted audio format parameters — no credentials needed, no user interaction required. The attack resets arbitrary server files to empty, causing immediate service disruption to any AI workload served through Gradio. Audit your ML demo environments, internal AI tools, and Hugging Face Spaces deployments immediately and upgrade or isolate.
What is the risk?
High severity in context despite low EPSS (0.00245). The CVSS 8.2 score reflects a zero-barrier attack path: network-accessible, no auth, no interaction. While not yet actively exploited at scale, Gradio is ubiquitous in AI/ML environments — model demos, internal prototyping tools, and production-adjacent inference UIs. A single successful exploit can wipe config files, weights, or application code, halting AI services. Exposure risk is elevated because Gradio instances are frequently deployed internet-facing (Hugging Face Spaces, internal demos) with minimal hardening.
What systems are affected?
How severe is it?
What is the attack surface?
What should I do?
5 steps-
PATCH
Upgrade to Gradio >5.0.0b2 immediately. No official patch version is confirmed in the advisory yet — monitor https://github.com/gradio-app/gradio/releases for the fix commit post-98cbcae.
-
ISOLATE
If patching is not immediately possible, restrict Gradio instances to authenticated internal networks only — remove all public exposure.
-
WORKAROUND
Implement a WAF rule blocking audio format parameters containing path traversal sequences (../, ..\, URL-encoded equivalents).
-
DETECT
Audit server logs for unusual format parameter values in audio processing requests; alert on file size drops to zero in monitored directories.
-
HARDEN
Run Gradio in a container with read-only filesystem mounts where possible, limiting blast radius of file deletion.
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-10648?
Any Gradio instance (versions 4.0.0–5.0.0b2) exposed to a network is vulnerable to unauthenticated file-wiping attacks via crafted audio format parameters — no credentials needed, no user interaction required. The attack resets arbitrary server files to empty, causing immediate service disruption to any AI workload served through Gradio. Audit your ML demo environments, internal AI tools, and Hugging Face Spaces deployments immediately and upgrade or isolate.
Is CVE-2024-10648 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2024-10648, increasing the risk of exploitation.
How to fix CVE-2024-10648?
1. PATCH: Upgrade to Gradio >5.0.0b2 immediately. No official patch version is confirmed in the advisory yet — monitor https://github.com/gradio-app/gradio/releases for the fix commit post-98cbcae. 2. ISOLATE: If patching is not immediately possible, restrict Gradio instances to authenticated internal networks only — remove all public exposure. 3. WORKAROUND: Implement a WAF rule blocking audio format parameters containing path traversal sequences (../, ..\, URL-encoded equivalents). 4. DETECT: Audit server logs for unusual format parameter values in audio processing requests; alert on file size drops to zero in monitored directories. 5. HARDEN: Run Gradio in a container with read-only filesystem mounts where possible, limiting blast radius of file deletion.
What systems are affected by CVE-2024-10648?
This vulnerability affects the following AI/ML architecture patterns: model serving, AI demo platforms, ML prototyping environments, inference APIs with Gradio frontend.
What is the CVSS score for CVE-2024-10648?
CVE-2024-10648 has a CVSS v3.1 base score of 8.2 (HIGH). The EPSS exploitation probability is 0.67%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0010.001 AI Software AML.T0029 Denial of AI Service AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
A path traversal vulnerability exists in the Gradio Audio component of gradio-app/gradio, as of version git 98cbcae. This vulnerability allows an attacker to control the format of the audio file, leading to arbitrary file content deletion. By manipulating the output format, an attacker can reset any file to an empty file, causing a denial of service (DOS) on the server.
Exploitation Scenario
Adversary identifies a public-facing Gradio instance running a speech-to-text or audio classification model (common in enterprise AI demos). Using the Gradio Audio component's format parameter, they craft a request that manipulates the output path via CWE-29 path traversal (e.g., injecting '..filename' sequences to escape the intended temp directory). The Gradio processing_utils.py handler at line 234 resolves the attacker-controlled path and resets the target file to empty. The adversary iterates over predictable paths: application config files, model weight files (*.pt, *.onnx), or database files — systematically disabling the AI service. No authentication token, API key, or insider access required.
Weaknesses (CWE)
CWE-29 — Path Traversal: '..filename': The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize '\..\filename' (leading backslash dot dot) sequences that can resolve to a location that is outside of that directory.
- [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylis
- [Implementation] Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180). Make sure that the application does not decode the same input twice (CWE-174). Such errors could be used to bypass allowlist validation schemes by introducing dangerous inputs after they have been checked.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H References
Timeline
Related Vulnerabilities
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-2023-25823 9.8 Gradio: hardcoded SSH key leaks via share=True demos
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