Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Open WebUI instance
-
DeliveryJoin shared doc via ydoc:document:join
-
ExploitHarvest victim's connected socket/session_id
-
ExecutionSend execute:python/execute:tool to that session
-
PersistCode interpreter runs code in victim session
-
ImpactCross-user RCE and data access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Open WebUI account (PR:L) on a multi-user instance where the code interpreter (execute:python) and/or tool execution (execute:tool) features are enabled. The attacker must obtain a victim's socket/session ID, which is exposed through the ydoc:document:join collaborative-document flow, so the victim must have a live, connected session (the UI:R/interaction and 'Automatable: no' limiting factors). Limits: single-user deployments are not meaningfully at risk, the target session must be currently connected, and the attacker needs valid credentials - this is not unauthenticated or default-config remote exploitation. |
| Impact | Signals are moderately aligned toward a real but not spray-and-pray threat. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H, 9.0) reflects network reach, low complexity, an authenticated but low-privileged attacker, required user interaction, and a scope change with total confidentiality/integrity/availability impact on the victim session. SSVC agrees on impact (Technical Impact: total) and records exploitation as 'poc' with Automatable: no - consistent with the fact that the attacker must first obtain another user's socket ID and rely on the victim being active in a shared document, so it does not lend itself to untargeted automation. EPSS is low (0.28%, 19th percentile) and the CVE is not in CISA KEV, so there is no evidence of active exploitation; the low EPSS is congruent with a POC-only, interaction-and-authentication-gated bug rather than a contradiction. Net: a genuinely high-severity, patch-now issue for any multi-user Open WebUI deployment, but the practical barrier (need an account, need a victim's live session/socket) makes it targeted rather than wormable. No major data conflicts were identified; UI:R and S:C are supported by the description's requirement that code runs in a second user's session. |
| Exploit ScenarioDerived | A low-privileged but authenticated Open WebUI user joins a shared collaborative document to learn a victim's active socket/session ID via ydoc:document:join, then sends an execute:python (or execute:tool) Socket.IO event naming that foreign session_id. The code interpreter runs the attacker's Python within the victim's session context, yielding cross-user code execution and access to the victim's data and actions. A proof-of-concept is indicated in the SSVC intelligence, and the low attack complexity makes the technique straightforward once a target session is active. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Jul 13, 2026
Cross-user remote code execution in Open WebUI before 0.10.0 lets an authenticated user run arbitrary code interpreter Python or invoke tools inside another logged-in user's session. The get_event_call handler dispatched execute:python and execute:tool Socket.IO events to any client-supplied session_id that was merely 'connected', so an attacker who harvested a victim's socket ID via the ydoc:document:join collaboration flow could hijack that session. A proof-of-concept is indicated in the SSVC data, though the flaw is not in CISA KEV and EPSS rates near-term mass exploitation low (0.28%, 19th percentile).
Earlier versions of this analysis (2)
Cross-user remote code execution in Open WebUI before 0.10.0 lets an authenticated user run arbitrary Python (via the code interpreter) or invoke tools inside another user's active session. The flaw lives in the Socket.IO get_event_call handler, which dispatched execute:python and execute:tool events to any client-supplied session_id as long as that session was merely connected - never verifying the target session belonged to the requester. An attacker first harvests a victim's socket/session ID through the ydoc:document:join collaboration event, giving a practical path to hijack another user's execution context. Exploit code is at proof-of-concept maturity (SSVC), EPSS is low (0.28%), and the issue is fixed in 0.10.0.
Cross-session code execution in Open WebUI before 0.10.0 lets an authenticated user hijack another user's code-interpreter or tool-execution context. Because get_event_call routed execute:python and execute:tool Socket.IO events to any client-supplied session_id after only verifying the session was connected, an attacker who learns a victim's socket ID (leaked via the ydoc:document:join collaborative-editing event) can run arbitrary Python or invoke tools inside the victim's session. No public exploit identified at time of analysis; the flaw is fixed in 0.10.0.
RemediationAI
Vendor-released patch: upgrade to Open WebUI 0.10.0 or later (https://github.com/open-webui/open-webui/releases/tag/v0.10.0), which adds an ownership check so get_event_call only delivers execute:python/execute:tool events to a session whose stored user id matches the requesting user (fix commit 386ac958144dbbbf0aa6e268070d72b681a318aa via PR #25763). Until you can upgrade, reduce exposure by tightly restricting who holds accounts on the instance (the attacker must be authenticated), and where feasible disable or lock down the code interpreter/Python execution and tool features and the collaborative document (ydoc) functionality that leaks session IDs - the trade-off is loss of code-interpreter and real-time collaboration capabilities for legitimate users. Also limit network reach to the Socket.IO endpoint to trusted users/networks. Consult advisory GHSA-74h3-cxq7-vc5q for authoritative 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
Open WebUI is a self-hosted AI/LLM front-end that uses a Socket.IO real-time channel to drive interactive features, including a Python code interpreter and tool-calling. The vulnerable get_event_call function (backend/open_webui/socket/main.py) trusted a client-supplied session_id and, prior to the fix, only verified that the target session existed in SESSION_POOL - it never checked that the session belonged to the requesting user. This is a CWE-94 (improper control of code generation / code injection) issue compounded by a missing authorization/ownership check: because execute:python and execute:tool events were delivered to whatever session was named, an attacker could steer code execution into a foreign session. Socket/session IDs are learnable through the ydoc:document:join collaborative-document mechanism, which is what makes the client-supplied identifier attacker-controllable. The CPE cpe:2.3:a:openwebui:open_webui confirms the affected product across all versions below 0.10.0.
Know when Open Webui 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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
Authenticated user (PR:L) abuses Socket.IO over the network with low complexity; code executes in another user's live session (S:C, UI:R), giving full C/I/A impact.
Primary rating from Vendor (github).
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. Prior to 0.10.0, get_event_call delivered execute:python and execute:tool Socket.IO events to a client-supplied session_id after checking only that the session was connected, allowing authenticated users who learned another socket ID through ydoc:document:join to run code interpreter Python or tools in that user session. This issue is fixed in version 0.10.0.
Articles & Coverage 1
Executive ViewAI
A critical remote code execution flaw in Open WebUI prior to version 0.10.0 permits authenticated users to execute arbitrary Python code and invoke tools within other logged-in users' sessions through session ID hijacking. This cross-user privilege escalation poses direct risk to data confidentiality, system integrity, and multi-user deployment scenarios. Organizations running vulnerable versions face potential insider threats, lateral movement, and unauthorized access to collaborative sessions.
Apply vendor patch.
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.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Open Webui
View allAn XSS vulnerability exists in open-webui/open-webui versions <= 0.3.8, specifically in the function that constructs the
A Stored Cross-Site Scripting (XSS) vulnerability exists in the chat file upload functionality of open-webui/open-webui
Attacker controlled files can be uploaded to arbitrary locations on the web server's filesystem by abusing a path traver
Stored cross-site scripting in Open WebUI's terminal port preview feature allows an authenticated attacker sharing a ter
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a St
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a Se
In version v0.3.10 of open-webui/open-webui, the `api/v1/utils/pdf` endpoint lacks authentication mechanisms, allowing u
OAuth and SCIM identity confusion in Open WebUI 0.6.41-0.10.x (SQLite-backed deployments only) allows unauthenticated re
DNS rebinding SSRF in Open WebUI versions 0.9.6 through 0.11.0 allows authenticated users who control authoritative DNS
Denial of service in Open WebUI versions 0.9.0-0.11.0 allows unauthenticated remote attackers to stall the application s
In version 0.3.8 of open-webui, an endpoint for converting markdown to HTML is exposed without authentication. Rated hig
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. [CVSS 7.3 HIGH]
EUVD-2026-42627
GHSA-74h3-cxq7-vc5q
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB