Skip to main content

Gradio EUVDEUVD-2026-32547

| CVE-2026-48545 HIGH
Session Fixation (CWE-384)
2026-05-27 disclosure@vulncheck.com GHSA-7hp7-4p35-3cx2
7.6
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker deploys malicious HF Space
  2. Delivery
    Victim interaction triggers /proxy= fetch to that Space
  3. Exploit
    Upstream returns parent-domain Set-Cookie stored in shared client
  4. Execution
    Cookie auto-replayed to sibling legitimate Spaces
  5. Persist
    Victim session fixed to attacker-known value
  6. Impact
    Account/session hijack across the deployment

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session fixation prevention
Exploitation Conditions

Exploitation requires a multi-tenant Gradio deployment (e.g., Hugging Face Spaces) running a version below 6.15.0 where multiple users share one Gradio process and its module-level httpx.AsyncClient, AND active use of the /proxy= reverse-proxy endpoint that reaches sibling *.hf.space hosts. The attacker must control at least one upstream Space able to return a parent-domain Set-Cookie header. Per CVSS, the attacker is unauthenticated (PR:N) and network-based (AV:N), but exploitation is gated by passive user interaction (UI:P - a victim must trigger the proxied request) and high attack complexity (AC:H - timing/state of the shared cookie jar). Limiting factors: single-tenant or non-proxy Gradio installs are not meaningfully exposed; the bug does not yield code execution or denial of service (VA:N, no subsequent-system impact); and SSVC Automatable:no indicates it is not amenable to reliable large-scale automation.

Impact

The CVSS 4.0 base score is 7.6 with vector AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N: network-reachable and unauthenticated (PR:N), but with high attack complexity (AC:H) and required passive user interaction (UI:P), and high confidentiality and integrity impact with no availability or subsequent-system impact. SSVC aligns with this nuanced picture: exploitation is rated poc (proof-of-concept, not active), Automatable is no (so not suited to mass/wormable abuse), and Technical Impact is total. The signals are internally consistent - this is a genuine multi-tenant integrity/confidentiality risk on shared Gradio/HF Space hosting rather than a trivially mass-exploitable bug, and the AC:H/UI:P/Automatable:no factors argue against opportunistic scanning. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be quantified here; absence of a CISA KEV entry indicates no confirmed in-the-wild use. Net: a real priority for multi-tenant Gradio/HF deployments, but the bounded impact (no RCE, no availability/subsequent impact) and high complexity place it below drop-everything severity for single-tenant installs.

Exploit ScenarioDerived

An attacker stands up a malicious Hugging Face Space whose responses include a Set-Cookie header scoped to the shared parent domain. When a victim's interaction causes the vulnerable Gradio /proxy= endpoint to fetch the attacker's Space, the shared httpx client stores that cookie and replays it on later proxied requests to legitimate sibling Spaces, fixing the victim's session under an attacker-known value. SSVC marks exploitation as proof-of-concept, so working demonstration code is indicated; the AC:H and UI:P CVSS metrics mean the attacker must induce the right proxy interaction rather than fire-and-forget.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 27, 2026

Cross-Space session fixation in Gradio before 6.15.0 lets an attacker who controls any Hugging Face Space poison a process-wide httpx.AsyncClient shared by the framework's /proxy= reverse-proxy endpoint. Because that single client keeps one cookie jar, a Set-Cookie header returned by a malicious upstream Space is stored and automatically replayed on every subsequent proxied request to sibling *.hf.space URLs, allowing the attacker to fix a parent-domain cookie across all users of the same Gradio deployment. SSVC rates exploitation as proof-of-concept with total technical impact; the issue is not in CISA KEV and is fixed in release 6.15.0 (GHSA-2mr9-9r47-px2g).

RemediationAI

Vendor-released patch: Gradio 6.15.0 - upgrade to 6.15.0 or later, which isolates per-request cookie jars in /proxy= handling (commit feb7237d01f359d2ad4ee42d00344e61692b3b39, PR https://github.com/gradio-app/gradio/pull/13384, release https://github.com/gradio-app/gradio/releases/tag/gradio@6.15.0). If immediate upgrade is not possible, the concrete compensating control is to disable or block access to the reverse-proxy functionality: restrict or remove use of the /proxy= endpoint so untrusted/attacker-controlled upstream Spaces cannot return cookies into the shared client - the trade-off is that any Gradio feature relying on proxying sibling Spaces (for example embedded or chained Space content) will stop working. In shared hosting, avoid co-locating untrusted Spaces in the same Gradio process and segregate tenants, accepting the operational cost of reduced consolidation. Consult the VulnCheck advisory (https://www.vulncheck.com/advisories/gradio-cookie-injection-via-shared-pro) and GHSA-2mr9-9r47-px2g for vendor guidance.

Affected VersionsENISA

gradio 0 <6.15.0

Affected Packages

pypi gradio fix: 6.15.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in gradio/routes.py, which exposes a /proxy= reverse-proxy used to fetch sibling Hugging Face Spaces. Pre-fix code instantiated a single module-level httpx.AsyncClient and reused it via client.build_request/client.send for every proxied request. An httpx.AsyncClient carries a persistent cookie jar, so Set-Cookie headers from one upstream response were retained and re-sent on later requests to other hosts under the shared parent domain. This is a textbook CWE-384 (Session Fixation): a session/cookie value that should be per-request and per-tenant is instead carried across trust boundaries, letting an attacker pre-set the cookie used in victims' sessions. The vendor fix keeps the connection pool warm by sharing only an httpx.AsyncHTTPTransport (_proxy_transport) while creating a fresh httpx.AsyncClient per proxy call, isolating cookie jars; build_proxy_request was refactored to return (url, headers) rather than a client-bound request so no AsyncClient is shared.

Know when Gradio gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vulncheck) PRIMARY 7.6 HIGH
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck) · only source for this CVE.

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
May 27, 2026 - 19:46 EUVD

DescriptionCVE.org

Gradio before version 6.15.0 contains a cookie injection vulnerability that allows remote attackers to perform cross-Space session fixation by exploiting a shared module-level HTTP client used across all users in the reverse proxy endpoint. Attackers controlling any HF Space can return a parent-domain cookie that the shared client stores and automatically replays into all subsequent proxy requests to other legitimate Spaces, affecting all users of the same Gradio deployment.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

More in Gradio

View all
CVE-2024-39236 CRITICAL POC
9.8 Jul 01

Gradio v4.36.1 was discovered to contain a code injection vulnerability via the component /gradio/component_meta.py. Rat

CVE-2024-0964 CRITICAL POC
9.4 Feb 05

A local file include could be remotely triggered in Gradio due to a vulnerable user-supplied JSON value in an API reques

CVE-2024-4253 CRITICAL POC
9.1 Jun 04

A command injection vulnerability exists in the gradio-app/gradio repository, specifically within the 'test-functional.y

CVE-2024-4325 HIGH POC
8.6 Jun 06

A Server-Side Request Forgery (SSRF) vulnerability exists in the gradio-app/gradio version 4.21.0, specifically within t

CVE-2024-10648 HIGH POC
8.2 Mar 20

A path traversal vulnerability exists in the Gradio Audio component of gradio-app/gradio, as of version git 98cbcae. Rat

CVE-2024-1540 HIGH POC
8.2 Mar 27

A command injection vulnerability exists in the deploy+test-visual.yml workflow of the gradio-app/gradio repository, due

CVE-2023-6572 HIGH POC
8.1 Dec 14

Command Injection in GitHub repository gradio-app/gradio prior to main. Rated high severity (CVSS 8.1), this vulnerabili

CVE-2021-43831 HIGH POC
7.7 Dec 15

Gradio is an open source framework for building interactive machine learning models and demos. Rated high severity (CVSS

CVE-2024-10624 HIGH POC
7.5 Mar 20

A Regular Expression Denial of Service (ReDoS) vulnerability exists in the gradio-app/gradio repository, affecting the g

CVE-2025-0187 HIGH POC
7.5 Mar 20

A Denial of Service (DoS) vulnerability was discovered in the file upload feature of gradio-app/gradio version 0.39.1. R

CVE-2024-8966 HIGH POC
7.5 Mar 20

A vulnerability in the file upload process of gradio-app/gradio version @gradio/video@0.10.2 allows for a Denial of Serv

CVE-2024-10569 HIGH POC
7.5 Mar 20

A vulnerability in the dataframe component of gradio-app/gradio (version git 98cbcae) allows for a zip bomb attack. Rate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy