Skip to main content

Open WebUI CVE-2026-59216

| EUVDEUVD-2026-42627 CRITICAL
Code Injection (CWE-94)
2026-07-09 security-advisories@github.com GHSA-74h3-cxq7-vc5q
9.0
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Open WebUI instance
  2. Delivery
    Join shared doc via ydoc:document:join
  3. Exploit
    Harvest victim's connected socket/session_id
  4. Execution
    Send execute:python/execute:tool to that session
  5. Persist
    Code interpreter runs code in victim session
  6. Impact
    Cross-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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv3 – 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)
v2 Jul 13, 2026 - 12:43 cvss changed CVSS 9.0

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.

v1 Jul 09, 2026 - 17:32 CVSS 7.7

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

open-webui < 0.10.0

Affected Packages

pypi open-webui fix: 0.10.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

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

Vendor (github) PRIMARY HIGH
NVD 9.0 CRITICAL
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Severity Changed
Jul 13, 2026 - 12:37 NVD
HIGH CRITICAL
CVSS changed
Jul 13, 2026 - 12:37 NVD
7.7 (HIGH) 9.0 (CRITICAL)
Patch available
Jul 09, 2026 - 18:01 EUVD

DescriptionNVD

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.

Executive ViewAI

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular self-hosted LLM front-end, common in AI/homelab, not enterprise-ubiquitous
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA 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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

65
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +45
PoC: +20
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.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2024-8017 CRITICAL POC
9.0 Mar 20

An XSS vulnerability exists in open-webui/open-webui versions <= 0.3.8, specifically in the function that constructs the

CVE-2024-7044 HIGH POC
8.9 Mar 20

A Stored Cross-Site Scripting (XSS) vulnerability exists in the chat file upload functionality of open-webui/open-webui

CVE-2024-6707 HIGH POC
8.8 Aug 07

Attacker controlled files can be uploaded to arbitrary locations on the web server's filesystem by abusing a path traver

CVE-2026-87995 HIGH POC
8.7 Sep 09

Stored cross-site scripting in Open WebUI's terminal port preview feature allows an authenticated attacker sharing a ter

CVE-2025-65959 HIGH POC
8.7 Dec 04

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a St

CVE-2025-65958 HIGH POC
8.5 Dec 04

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a Se

CVE-2024-8053 HIGH POC
8.2 Mar 20

In version v0.3.10 of open-webui/open-webui, the `api/v1/utils/pdf` endpoint lacks authentication mechanisms, allowing u

CVE-2026-87016 HIGH POC
8.1 Sep 09

OAuth and SCIM identity confusion in Open WebUI 0.6.41-0.10.x (SQLite-backed deployments only) allows unauthenticated re

CVE-2026-87996 HIGH POC
7.7 Sep 09

DNS rebinding SSRF in Open WebUI versions 0.9.6 through 0.11.0 allows authenticated users who control authoritative DNS

CVE-2026-87011 HIGH POC
7.5 Sep 09

Denial of service in Open WebUI versions 0.9.0-0.11.0 allows unauthenticated remote attackers to stall the application s

CVE-2024-7983 HIGH POC
7.5 Mar 20

In version 0.3.8 of open-webui, an endpoint for converting markdown to HTML is exposed without authentication. Rated hig

CVE-2026-26193 HIGH POC
7.3 Feb 19

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. [CVSS 7.3 HIGH]

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