Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain a validly-issued JWT that is later revoked
-
DeliveryReconnect to Socket.IO or terminal websocket
-
ExploitFirst-message auth calls decode_token, skips Redis revocation check
-
ExecutionRevoked token accepted as valid
-
ImpactRegain realtime access to channels, notes, and terminal
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Exploitation requires: (1) the Open WebUI deployment is configured with Redis (the revocation store that the vulnerable path fails to consult); (2) the attacker possesses a JWT that was validly issued to a real account and has since been revoked (via logout, forced-logout, or account disablement) but has not yet reached its natural expiry; and (3) network reachability to the Socket.IO connect/user-join/join-channels/join-note or terminal websocket endpoints. Limiting factors that reduce realistic risk: the attacker cannot forge tokens (JWT signature and expiry are still enforced by decode_token), so a completely unauthenticated outsider with no prior token cannot exploit this; deployments without Redis are outside the described condition; and the exploitation window closes when the token reaches its natural expiry. This is not a default-configuration remote-unauthenticated flaw - it is a revocation bypass that presumes prior legitimate token issuance. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N, C:H/I:L/A:N, score 7.1) indicates a network-reachable, low-complexity issue requiring low privileges - consistent with the need to possess a previously-issued (now revoked) JWT rather than to be fully unauthenticated. Real-world risk is moderate and conditional: exploitation is only possible on deployments that have Redis configured AND where a token has actually been revoked (e.g., after logout, credential rotation, or account disablement), so the attacker must already have held a legitimate session. There is no EPSS score, no SSVC record, and no POC or KEV entry in the supplied data, which points to a real but not urgent, non-wormable issue rather than a mass-exploitation threat. The primary consequence is continued unauthorized realtime access (confidentiality of chats/channels/notes and terminal websocket access) after access should have been cut off; the low integrity and null availability impacts limit blast radius. Note a nuance to verify with the vendor: Redis is an optional deployment component, so single-instance deployments without Redis are not affected in the manner described - this condition narrows the affected population. |
| Exploit ScenarioDerived | An employee is offboarded and their Open WebUI session token is revoked, or a user logs out after suspecting compromise. Because the terminal/Socket.IO first-message check only decodes the JWT and skips the Redis revocation lookup, the attacker (holding the still-unexpired-but-revoked token) reconnects over the websocket and regains realtime access to channels, notes, and the terminal until the token naturally expires. No public POC is identified in the supplied data, but the attack is low-complexity given a valid revoked token. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 09, 2026
Session revocation bypass in Open WebUI 0.9.0 through 0.9.x (deployments configured with Redis) lets a holder of a revoked JWT keep authenticating realtime Socket.IO connections. The flaw stems from first-message authentication for Socket.IO connect, user-join, join-channels, join-note, and the terminal websocket calling decode_token without the Redis-backed is_valid_token revocation check, so logout, forced-logout, or token invalidation does not sever active realtime access. No public exploit is identified at time of analysis and it is not listed in CISA KEV; the fix is version 0.10.0.
RemediationAI
Vendor-released patch: 0.10.0 - upgrade Open WebUI to version 0.10.0 or later, which restores the Redis-backed is_valid_token revocation check on the Socket.IO first-message authentication path (fix commit 33b91bd8ae8a100a5a306c91441a7d0b422c4cde, advisory GHSA-855v-hq7w-jmjw, release https://github.com/open-webui/open-webui/releases/tag/v0.10.0). If you cannot upgrade immediately, reduce exposure by shortening JWT lifetime so revoked tokens expire quickly (trade-off: more frequent re-authentication for users), rotating the JWT signing secret to forcibly invalidate all outstanding tokens (trade-off: this logs out all active users), and restricting network access to the Socket.IO/websocket endpoint to trusted networks or placing it behind an authenticating reverse proxy (trade-off: may break legitimate remote realtime clients). These are compensating controls only; upgrading to 0.10.0 is the definitive fix.
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, extensible AI/LLM front-end that uses Socket.IO (WebSocket) for realtime features such as chat channels, note collaboration, and an interactive terminal. It authenticates these realtime sessions with JWTs. When configured with Redis, Open WebUI maintains a server-side allow/deny list of valid tokens (is_valid_token) so that revoked tokens can be rejected server-side. The vulnerable code path validated the JWT on the websocket first message using only decode_token, which checks the cryptographic signature and expiry of the JWT but does NOT consult the Redis-backed revocation store. This is a textbook CWE-613 (Insufficient Session Expiration / failure to invalidate sessions on the server side): the token remains cryptographically valid until its natural expiry even after the operator or user has explicitly revoked it, because the stateless check was substituted for the stateful revocation check on the realtime channel.
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:N/S:U/C:H/I:L/A:N
Attacker must hold a validly-issued (revoked) token, so PR:L; network websocket reachability gives AV:N/AC:L; high confidentiality of realtime data, low integrity, no availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.9.0 before 0.10.0 with Redis configured, Socket.IO connect, user-join, join-channels, join-note, and the terminal websocket first-message authentication used decode_token without the Redis-backed is_valid_token revocation check, allowing revoked JWTs to continue authenticating realtime connections. This issue is fixed in version 0.10.0.
Executive ViewAI
Open WebUI 0.9.0-0.9.x deployments with Redis are vulnerable to session revocation bypass, allowing users with revoked authentication tokens to maintain persistent real-time connections for Socket.IO features including note collaboration and terminal access. Compromised accounts or attackers could retain unauthorized access despite logout, forced-logout, or token invalidation events. Organizations must upgrade to version 0.10.0 immediately to restore proper session management enforcement.
Apply vendor patch: Open WebUI version 0.10.0
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-42625
GHSA-855v-hq7w-jmjw
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB