Severity by source
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
Network vector confirmed; AC:H reflects mandatory prompt-injection delivery step; PR:L for attacker's authenticated account; S:C because iframe escapes to application origin.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.9.0 until 0.11.0, the terminal file-preview serveUrl iframe branch always granted allow-same-origin together with allow-scripts for HTML files served from the application origin. Any authenticated user with access to a configured terminal server could cause script in a previewed file to run in the Open WebUI origin, read the victim's session token from localStorage, and take over the account, with possible server-side code execution if the victim was an admin or held workspace.functions. This issue is fixed in 0.11.0.
AnalysisAI
The terminal file-preview feature in Open WebUI 0.9.0 through 0.10.2 allows an authenticated attacker with access to a configured terminal server to execute arbitrary scripts in the application's own browser origin by exploiting a hardcoded iframe sandbox misconfiguration, enabling full session token theft and account takeover. The serveUrl iframe branch unconditionally combined allow-same-origin with allow-scripts for HTML files served from the application's own domain, completely negating iframe sandbox isolation regardless of user settings. In the highest-impact scenario, if the victim holds admin privileges or workspace.functions, the account takeover extends to server-side code execution on the Open WebUI host. No public exploit has been identified at time of analysis, and this CVE is not listed in the CISA KEV catalog; a vendor patch is available in version 0.11.0.
Technical ContextAI
The root cause is in src/lib/components/chat/FileNav/FilePreview.svelte within the serveUrl iframe branch that renders HTML files served through the terminal proxy endpoint /api/v1/terminals/{id}/files/serve/.... The HTML5 iframe sandbox attribute is designed to restrict framed content, but the documented pitfall of combining allow-same-origin with allow-scripts for same-origin content is that the framed document inherits the parent's origin context, gains DOM access, and can read localStorage and sessionStorage - rendering the sandbox entirely inert. CWE-79 (Improper Neutralization of Input During Web Page Generation) captures this: attacker-controlled HTML content is injected into the application's own origin context without sanitization or effective isolation. Compounding the issue, the existing user setting iframeSandboxAllowSameOrigin (default: off) was intended to gate this behavior but was silently ignored by the serveUrl code path; only the srcdoc branch respected it. The affected CPE is cpe:2.3:a:open-webui:open-webui:*:*:*:*:*:*:*:*, versions 0.9.0 through 0.10.2 inclusive.
RemediationAI
Upgrade Open WebUI to version 0.11.0 or later via pip install --upgrade open-webui, available at https://github.com/open-webui/open-webui/releases/tag/v0.11.0. No configuration changes are required after upgrading; HTML previews continue to render correctly. The fix in commit 65a5fad7b (PR #26907) removes the hardcoded allow-same-origin from the serveUrl iframe branch and gates it behind the iframeSandboxAllowSameOrigin user setting, which defaults to off - restoring the originally intended isolation behavior. For deployments that cannot upgrade immediately, completely removing all entries from TERMINAL_SERVER_CONNECTIONS eliminates the attack surface entirely, though this disables all terminal functionality as a trade-off. Operators who had already set a restrictive Content-Security-Policy via TERMINAL_PROXY_HEADERS were not exposed even on vulnerable versions, since those headers are merged into every proxied response including served HTML files.
More in Open Webui
View allA vulnerability in open-webui/open-webui version 0.3.8 allows an attacker with a user-level account to perform a session
An 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
A vulnerability in open-webui/open-webui versions <= 0.3.8 allows remote code execution by non-admin users via Cross-Sit
Attacker controlled files can be uploaded to arbitrary locations on the web server's filesystem by abusing a path traver
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
A stored cross-site scripting (XSS) vulnerability exists in open-webui/open-webui version 0.3.8. Rated high severity (CV
In version v0.3.10 of open-webui/open-webui, the `api/v1/utils/pdf` endpoint lacks authentication mechanisms, allowing u
In open-webui version 0.3.8, the endpoint `/models/upload` is vulnerable to arbitrary file write due to improper handlin
The `/openai/models` endpoint in open-webui/open-webui version 0.3.8 is vulnerable to Server-Side Request Forgery (SSRF)
In version 0.3.32 of open-webui/open-webui, the absence of authentication mechanisms allows any unauthenticated attacker
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52893
GHSA-3xpf-xq7r-v8c5