Cloudanix VulnDB

CVE-2024-8966

High · 7.5

Gradio DOS in multipart boundry while uploading the file

CVSS

7.5

EPSS

0.8%

Published

Mar 20, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Attackers can send specially crafted upload requests that may overwhelm affected services and make them unavailable.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw is a denial-of-service condition in multipart file-upload parsing. A crafted upload request can include an abnormally long multipart boundary value, causing vulnerable code to process the boundary character-by-character and emit repeated warnings, consuming CPU and log/IO resources and potentially making the application or media-processing service unavailable. The supplied affected-package metadata maps fixes to GStreamer/gst-plugins-base packages, while the description references Gradio file-upload handling; organizations should verify which vulnerable component is present in their software bill of materials before applying package-specific remediation.

Why it matters to the business

Successful exploitation can make affected upload or media-processing functionality unavailable for extended periods, disrupting user-facing services, data ingestion pipelines, automation workflows, or applications that depend on file uploads. The CVSS score is high for availability impact, but EPSS is currently low and the issue is not listed in CISA KEV or known ransomware use, so urgency is highest for internet-facing upload endpoints and systems where downtime has direct operational or revenue impact.

How an attack unfolds

An attacker identifies an exposed service that accepts multipart file uploads and is backed by the vulnerable component. They send one or more HTTP multipart/form-data requests where the boundary parameter is intentionally padded with a very large number of characters. The vulnerable parser repeatedly evaluates the oversized boundary and emits warnings during processing. By repeating or parallelizing these requests, the attacker can exhaust CPU, worker threads, request queues, disk I/O from excessive logging, or application capacity, causing slow responses, failed uploads, or complete service unavailability. No authentication or code execution is implied by the provided description; the primary objective is service disruption.

How to fix it

Upgrade affected packages to fixed versions. For GStreamer source builds, include commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 or later. For Debian packages, upgrade gst-plugins-base1.0 to 1.18.4-2+deb11u3 on Debian 11, 1.22.0-3+deb12u3 on Debian 12, and 1.24.10-1 on Debian 13. If the exposure is in a Gradio-based upload service as described, update the affected Gradio-related package to a vendor-fixed release and validate dependency resolution. As interim mitigations, enforce maximum HTTP header size and multipart boundary length at the reverse proxy/WAF/application layer, cap request body size, rate-limit upload endpoints, restrict upload endpoints to trusted users or networks where feasible, and reduce excessive warning amplification by tuning logging only after patching or compensating controls are in place.

How to confirm the fix worked

Confirm installed package versions with the operating system package manager or SBOM tooling and verify they meet or exceed the fixed versions listed for the relevant distribution/component. For source builds, confirm the fixed commit is present in the build provenance. Perform a controlled test against a non-production instance by sending a multipart/form-data upload with an oversized boundary and verifying the service rejects it quickly with a client error instead of consuming excessive CPU, producing repeated warnings, or becoming unavailable. Review reverse proxy, WAF, and application limits to ensure oversized multipart boundaries and large upload requests are blocked before reaching application workers.

Typical attack path

  1. Discover an exposed application or API endpoint that accepts file uploads or multipart/form-data requests.
  2. Confirm the endpoint is reachable and likely handled by a vulnerable upload/media-processing stack.
  3. Craft a multipart/form-data request with an excessively long boundary string appended to the boundary parameter.
  4. Send the request repeatedly or concurrently to increase parser workload and warning generation.
  5. Observe degraded response times, worker exhaustion, elevated CPU/logging activity, failed uploads, or application unavailability.

How to detect it

To determine whether exploitation already occurred, review reverse proxy, load balancer, WAF, CDN, and application access logs for POST requests using multipart/form-data where the Content-Type boundary parameter is abnormally long, especially when concentrated from a small set of IP addresses or associated with slow responses, 408/413/429/499/500/502/503/504 status codes, or request timeouts. Review application logs for repeated multipart parsing warnings, boundary-related warnings, or sudden warning floods around upload endpoints. Correlate with host telemetry for CPU spikes, worker/thread exhaustion, increased memory pressure, disk I/O spikes from log growth, container restarts, process crashes, or service health-check failures. Because this is a denial-of-service issue, durable compromise artifacts are not expected; evidence is primarily request-pattern, performance, and log-volume based.

  • Content-Type: multipart/form-data; boundary=
  • multipart/form-data; boundary=
  • POST /upload
  • boundary=
  • multipart boundary
  • Invalid boundary
  • boundary too long
  • 413 Request Entity Too Large
  • 429 Too Many Requests
  • 503 Service Unavailable
  • 504 Gateway Timeout

What your security team should do

  • Inventory internet-facing and internal services that accept multipart file uploads or perform media ingestion using the affected components.
  • Prioritize patching externally reachable upload endpoints and business-critical media-processing services first.
  • Upgrade GStreamer/gst-plugins-base packages to the fixed Debian versions or source commit listed, and separately verify any Gradio package exposure due to the metadata discrepancy.
  • Add WAF or reverse-proxy controls that limit multipart boundary length, request header size, request body size, and upload request rate.
  • Monitor application, reverse proxy, and system logs for bursts of multipart upload requests with unusually long boundary parameters, repeated parser warnings, spikes in 4xx/5xx responses, CPU saturation, or log-volume anomalies.
  • Create operational runbooks for rapidly disabling or rate-limiting upload endpoints during active denial-of-service attempts.
  • Because EPSS is low and there is no KEV listing, treat this as a targeted availability-risk issue rather than a broadly exploited emergency, unless the affected service is public-facing or mission critical.

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
PyPI gradio 0 No fix

Related vulnerabilities