Miggo Logo

CVE-2024-47872: Gradio has an XSS on every Gradio server via upload of HTML files, JS files, or SVG files

5.4

CVSS Score
3.1

Basic Information

EPSS Score
0.24049%
Published
10/10/2024
Updated
1/21/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
gradiopip< 5.0.05.0.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient file type validation and unsafe file serving practices. While explicit code references are unavailable, Gradio's architecture suggests:

  1. Upload handlers (routes.py) would process file submissions
  2. Components (components.py) would control how files are rendered
  3. Core utilities (utils.py) would handle file serving mechanics In pre-5.0 versions, these likely lacked:
  • File extension/MIME type allowlisting
  • Content-Disposition: attachment headers for non-image files
  • SVG XML sanitization Confidence is medium due to inferential analysis of typical web app patterns, though without direct commit evidence.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t **W**t kin* o* vuln*r**ility is it? W*o is imp**t**?** T*is vuln*r**ility involv*s ***ross-Sit* S*riptin* (XSS)** on *ny *r**io s*rv*r t**t *llows *il* uplo**s. *ut**nti**t** us*rs **n uplo** *il*s su** *s *TML, J*v*S*ript, or SV* *il*s

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt *il* typ* v*li**tion *n* uns*** *il* s*rvin* pr**ti**s. W*il* *xpli*it *o** r***r*n**s *r* un*v*il**l*, *r**io's *r**it**tur* su***sts: *. Uplo** **n*l*rs (rout*s.py) woul* pro**ss *il* su*missions *. *ompon*