Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker deploys malicious HF Space
-
DeliveryVictim interaction triggers /proxy= fetch to that Space
-
ExploitUpstream returns parent-domain Set-Cookie stored in shared client
-
ExecutionCookie auto-replayed to sibling legitimate Spaces
-
PersistVictim session fixed to attacker-known value
-
ImpactAccount/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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Gradio v4.36.1 was discovered to contain a code injection vulnerability via the component /gradio/component_meta.py. Rat
A local file include could be remotely triggered in Gradio due to a vulnerable user-supplied JSON value in an API reques
A command injection vulnerability exists in the gradio-app/gradio repository, specifically within the 'test-functional.y
A Server-Side Request Forgery (SSRF) vulnerability exists in the gradio-app/gradio version 4.21.0, specifically within t
A path traversal vulnerability exists in the Gradio Audio component of gradio-app/gradio, as of version git 98cbcae. Rat
A command injection vulnerability exists in the deploy+test-visual.yml workflow of the gradio-app/gradio repository, due
Command Injection in GitHub repository gradio-app/gradio prior to main. Rated high severity (CVSS 8.1), this vulnerabili
Gradio is an open source framework for building interactive machine learning models and demos. Rated high severity (CVSS
A Regular Expression Denial of Service (ReDoS) vulnerability exists in the gradio-app/gradio repository, affecting the g
A Denial of Service (DoS) vulnerability was discovered in the file upload feature of gradio-app/gradio version 0.39.1. R
A vulnerability in the file upload process of gradio-app/gradio version @gradio/video@0.10.2 allows for a Denial of Serv
A vulnerability in the dataframe component of gradio-app/gradio (version git 98cbcae) allows for a zip bomb attack. Rate
EUVD-2026-32547
GHSA-7hp7-4p35-3cx2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB