Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Open WebUI instance
-
DeliveryStore javascript: URL in citation embed_url
-
ExploitShare crafted chat with victim
-
ExecutionVictim clicks citation, window.open fires script
-
PersistSteal localStorage.token
-
ImpactHijack victim session and act as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated Open WebUI account (PR:L) on an instance running a version in the 0.6.33-to-before-0.11.4 range, and depends on the sharing feature: the attacker must store a javascript: URL in a citation's embed_url field within a chat and share that chat with a victim. Exploitation completes only when the victim actively clicks the malicious citation, which passes the URL to window.open (UI:P required) - it does not fire automatically. Limiting factors: attacker must already have a valid account, the target must use a vulnerable version, and victim interaction (clicking the crafted citation in a shared chat) is mandatory, so default single-user or non-sharing deployments and patched instances (0.11.4+) are not exposed. |
| Impact | This is a credible, moderately-high priority issue for organizations running affected Open WebUI versions, but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N) indicates network-reachable, low-complexity exploitation requiring low privileges (PR:L - an authenticated user account) and passive user interaction (UI:P - the victim must click the malicious citation), with high confidentiality and integrity impact and no availability impact. The real-world danger is account takeover via theft of localStorage.token. However, several high-confidence risk signals are MISSING from the input: no EPSS score is provided, so exploitation probability cannot be quantified; there is no CISA KEV listing (no public exploit identified at time of analysis); and no POC availability is indicated despite a published GHSA advisory. The requirement for both a valid authenticated account AND victim interaction (clicking a shared crafted chat's citation) meaningfully constrains mass or opportunistic exploitation, pushing this toward targeted social-engineering use rather than wormable, widespread attack. Net: a genuine stored-XSS-to-account-takeover flaw worth prompt patching on exposed multi-user instances, but absent EPSS/KEV/POC evidence it is not demonstrably under active exploitation. |
| Exploit ScenarioDerived | An authenticated Open WebUI user crafts a chat containing a citation whose embed_url field holds a javascript: URL, then shares that chat with a victim. When the victim opens the shared chat and clicks the citation, the URL is passed to window.open, executing attacker script in the victim's session to exfiltrate localStorage.token and hijack the account. No public exploit code is identified in the provided data, and successful exploitation depends on the victim actively clicking the malicious citation (UI:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Stored cross-site scripting in Open WebUI versions from 0.6.33 up to (but not including) 0.11.4 lets an authenticated user embed a javascript: URL in a citation's embed_url field inside a chat, then share that chat so that when the victim clicks the citation the URL is handed to window.open. Successful exploitation executes script in the victim's browser session, allowing theft of localStorage.token and full account takeover as the victim. The attacker must already hold a valid account (PR:L) and the victim must actively click the crafted citation (UI:P), so exposure is limited to instances where chat sharing is enabled and users interact with untrusted shared content; no public exploit code or CISA KEV entry was identified at time of analysis, and the vendor fix is released in 0.11.4.
RemediationAI
Upgrade to Open WebUI 0.11.4 or later, which is the vendor-released patch for this issue; the fix should be validated against the advisory at https://github.com/open-webui/open-webui/security/advisories/GHSA-qpqv-xwg8-cqpj and the VulnCheck advisory at https://www.vulncheck.com/advisories/open-webui-0.6.33-before-0.11.4-stored-xss-via-citation-embed-url. If immediate upgrade is not possible, the single most effective compensating control is to disable chat sharing entirely (via the admin sharing settings) so that attacker-crafted chats cannot be delivered to victims; the trade-off is loss of collaboration features. As a secondary measure, restrict trust in shared content - users should be instructed not to click citations inside chats received from others - though this is a behavioral control with weak reliability. Where feasible, front the instance with a reverse proxy or content security policy that blocks javascript: navigation and restricts script sources (a strict CSP with no 'unsafe-inline' and a scheme allowlist on navigation), acknowledging that CSP can break benign embedded content and requires tuning. Also consider shortening session token lifetime and rotating tokens on a schedule, since the stolen credential is the localStorage token; note this does not prevent the theft itself, only limits the window of abuse. Because exploitation requires an authenticated attacker account, reviewing and pruning user accounts and restricting who may create accounts or share chats reduces the attack surface without patching, at the cost of reduced usability for legitimate users.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., cross-site scripting) issue in Open WebUI, a self-hosted web front end for interacting with large language models (CPE cpe:2.3:a:open-webui:open-webui). The root cause is that citation embed_url values are persisted from user-supplied chat content and later rendered/opened without validating the URL scheme, so a javascript: URI survives storage and is passed as the target of a window.open call. Because the payload is stored server-side inside a chat object and replayed to other users when the chat is shared, this is a stored (persistent) XSS rather than a reflected one, and the sink is a navigation/window-opening context rather than inline HTML, which means the script executes in the origin of the Open WebUI instance and can read client-side session material. Open WebUI keeps the session token in localStorage (localStorage.token) rather than an HttpOnly cookie, so code executing in the page context can read that token directly and use it to impersonate the victim, converting the XSS into an account takeover and, for administrators, potential broader compromise of the deployment. The vendor tracked the flaw under GHSA-qpqv-xwg8-cqpj and VulnCheck advisory VULN-... (open-webui-0.6.33-before-0.11.4-stored-xss-via-citation-embed-url), with the fix landing in 0.11.4.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Authenticated attacker (PR:L) stores script executed in a different victim's browser session (S:C) requiring the victim to click (UI:R); token theft and account takeover give C:H/I:H, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Open WebUI from 0.6.33 before 0.11.4 contains a cross-site scripting vulnerability that allows authenticated users to execute script in victims' sessions by storing javascript: URLs in citation embed_url fields. Attackers can share a crafted chat whose citation, when clicked, is passed to window.open, letting them steal localStorage.token and act as the victim.
Executive ViewAI
Open WebUI deployments running versions 0.6.33 through 0.11.3 are exposed to a stored cross-site scripting flaw that lets any user with a valid account plant malicious links inside shared chats, which then execute in the browser of anyone who clicks them and hand over the victim's session token. Because a stolen token grants full account takeover, shared-chat users - including administrators in the same instance - can be impersonated, and the compromise spreads through trust in content colleagues shared rather than through any external attack surface. Leadership should treat this as a user-to-user lateral movement risk affecting the confidentiality and integrity of every account on instances where chat sharing is enabled.
No vendor patch is confirmed as available at time of analysis, though 0.11.4 is referenced as the fixing release - verify and deploy it as soon as practical. Interim mitigations: disable or tightly restrict chat sharing on affected instances, since exploitation requires a victim to open and click a citation in a shared chat; restrict account creation so only trusted users can hold accounts; enable Content-Security-Policy headers that block javascript: URIs and restrict connect-src, which prevents window.open from handing off script execution; store session tokens in httpOnly, SameSite cookies rather than localStorage.token so token theft via script is not possible; and monitor for anomalous session reuse or token-based logins from unexpected IP addresses or user agents.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-97593
GHSA-g5hc-j8wv-8p98
NVD
CVE.org
EPSS
Exploit-DB