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
8DescriptionNVD
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
AnalysisAI
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).
Technical ContextAI
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.
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.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-94 – Code Injection
View allSame technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42627
GHSA-74h3-cxq7-vc5q