Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryEmbed javascript: link in shared chat
-
ExploitVictim/admin clicks rendered link
-
ExecutionScript reads JWT from local storage
-
ImpactExfiltrate token and hijack admin session
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 account on the Open WebUI instance (any low-privilege user suffices, PR:L) and use of the chat-sharing feature; the attacker plants a markdown link with a javascript: scheme that MarkdownInlineTokens.svelte renders directly into an anchor href without scheme validation (versions before 0.11.4). Exploitation is gated by victim interaction: a second user must open the shared chat AND click the malicious link for the script to run, and high-value compromise specifically depends on an administrator being the victim. JWT storage in browser local storage is what makes token theft possible. These factors - prior authentication plus a required click by a privileged victim - limit this to targeted social-engineering use rather than unauthenticated mass exploitation. |
| Impact | This is a credible, moderately serious risk rather than a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:A, score 7.2 HIGH) tells a consistent story: network-reachable, low complexity, but requiring low-privilege authentication (PR:L - any registered Open WebUI user) AND active victim interaction (UI:A - the victim must click the malicious link), with an attack requirement present (AT:P, i.e. the attacker needs a victim, ideally an admin, to take the bait). The impact metrics VC:H/VI:H are justified: stealing a JWT from local storage yields full session takeover, and if an admin clicks, the attacker inherits administrative control. No EPSS score, KEV listing, or POC reference was provided in the input, so exploitation probability signals are absent - this is NOT confirmed as actively exploited. The description is internally consistent with the CVSS vector (authenticated low-priv attacker, victim-click required), so there is no network-vs-local conflict to flag. The dependency on social engineering (a victim, especially an admin, must click an attacker-planted link) and on prior authentication meaningfully lowers real-world risk below what the 7.2 base score alone suggests; this favors targeted rather than opportunistic/wormable exploitation. |
| Exploit ScenarioDerived | An authenticated low-privilege Open WebUI user creates or edits a chat containing a markdown link whose URL uses the javascript: scheme, then shares that chat. When another user - ideally an administrator - opens the shared chat and clicks the link, the unvalidated href executes attacker-controlled JavaScript in the victim's browser, exfiltrating the victim's JWT from local storage and enabling full account (including admin) takeover. No public exploit was identified in the provided data, but the technique is straightforward to reproduce. |
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 before 0.11.4 allows an authenticated user to plant a markdown link using a javascript: scheme inside a shared chat; when a second user opens that chat and clicks the link, the script executes in the victim's browser session and can exfiltrate the JWT held in local storage - including an administrator's token. Exploitation requires a valid low-privilege account plus the chat-sharing feature and, critically, a click by the targeted victim, so this is best characterized as a targeted social-engineering risk rather than an unauthenticated mass-exploitation issue. No public exploit code or confirmed active exploitation was identified at time of analysis, and the independent assessment rates this a credible, moderately serious risk rather than a top-tier emergency.
RemediationAI
Upgrade to Open WebUI 0.11.4 or later, which is the vendor-released fix version for this issue; see GHSA-wf9m-46cp-c6h6 (https://github.com/open-webui/open-webui/security/advisories/GHSA-wf9m-46cp-c6h6) for the authoritative upgrade guidance. Where immediate upgrade is not possible, the highest-value compensating control is to disable or tightly restrict the chat-sharing feature so attacker-authored chats cannot be delivered to other users - the trade-off is loss of collaborative chat sharing for all users. Restricting instance access to a single trusted user or small vetted group removes the multi-user victim requirement but is rarely viable for shared deployments. A Content-Security-Policy that forbids inline and javascript: script execution (script-src with nonces or hashes, and no unsafe-inline) would neutralize the click payload in supporting browsers, at the cost of potentially breaking legitimate client-side functionality in the SPA and requiring testing. Deploying a reverse proxy or WAF rule that strips or rejects javascript: and other non-http(s) schemes in submitted chat content is a partial mitigation that can be bypassed by encoding tricks and does not repair the root cause. Note also that because the exploited token lives in local storage, neither SameSite cookies nor HttpOnly flags protect the current implementation; moving session tokens to HttpOnly cookies would be a deeper architectural fix but is a product change rather than an operational workaround. Finally, treat any pre-0.11.4 shared chat as potentially tainted during incident response, and rotate JWTs/sessions for users who interacted with untrusted shared chats.
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
The flaw is a CWE-79 (improper neutralization of input during web page generation) case manifesting as stored XSS in the Svelte component MarkdownInlineTokens.svelte, which converts markdown inline tokens into anchor elements. The component writes link URLs straight into the href attribute without validating the URI scheme, so a value such as javascript:alert(document.cookie) is preserved rather than stripped or rewritten, and because Svelte assigns the attribute at render time the payload survives into the DOM of any viewer of the chat. The payload is stored as chat content, so it persists and fires on every visit-and-click cycle rather than only for the original author. Impact is amplified by Open WebUI's client-side authentication model: JWTs are kept in browser local storage, which is readable by any same-origin script, so a single execution yields a transferable bearer token for the victim's account. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:A) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N) agree on the essentials: remote reachability, low-privilege prerequisite, required user interaction, and high confidentiality and integrity impact confined to the application's scope (S:C in v3.1). The affected package is identified by CPE cpe:2.3:a:open-webui:open-webui:*:*:*:*:*:*:*:*, covering all releases prior to 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:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Authenticated low-priv attacker stores the payload (PR:L), but a victim must click (UI:R); stored XSS executing in another user's browser is a scope change (S:C), yielding session/admin takeover (C:H/I:H), no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Open WebUI before 0.11.4 contains a stored cross-site scripting vulnerability in MarkdownInlineTokens.svelte, which renders markdown link URLs into anchor hrefs without validating their scheme. Authenticated users can embed javascript: links in shared chats that, when clicked by a victim, steal the victim's JWT from local storage, including admins' tokens.
Executive ViewAI
Open WebUI, the self-hosted interface many organizations use to front internal AI assistants, carries a stored cross-site scripting flaw in all versions before 0.11.4 that lets one user plant a malicious link in a shared chat and run code in the browser of whoever clicks it, including administrators whose session tokens are readable from browser storage. Because the attack depends on luring a specific person into clicking a link, the realistic risk is targeted social engineering against privileged staff rather than broad opportunistic compromise, but a stolen administrator token would hand an attacker that administrator's full access to the platform and any data or integrations behind it. Leadership should treat this as a credential-and-trust exposure for everyone who can see shared AI chats, not as a cosmetic front-end defect.
No vendor-released patch identified at time of analysis, so rely on interim mitigations: disable or restrict the chat-sharing feature to trusted groups; enforce a Content Security Policy that blocks javascript: URI execution and restrict markdown link schemes to http/https at the application, proxy, or WAF layer; shorten session token lifetimes and force re-authentication of administrative sessions; require MFA for administrators; monitor logs for stored links using a javascript: scheme; and train users not to click links in shared chats. Note: no public exploit identified at time of analysis.
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-97590
GHSA-fhg2-q543-9wpq
NVD
CVE.org
EPSS
Exploit-DB