CVE-2026-54013: Open WebUI Model Profile Image XSS – Account Takeover
Open WebUI is an offline-capable AI platform that stores user and model metadata, including profile images. A security fix applied to user and webhook profile images in version 0.9.6 was incompletely implemented—model profile images were overlooked. Any authenticated user with default workspace permissions can upload a malicious SVG image disguised as a model's profile picture. When another user views that image, the embedded JavaScript executes in their browser with full account privileges, enabling complete account takeover. The vulnerability requires an authenticated attacker and user interaction, but the permissions involved are enabled by default.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
- Weaknesses (CWE)
- CWE-116, CWE-693, CWE-79
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-23 / 2026-06-26
NVD description (verbatim)
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.6, Open WebUI patched SVG XSS in user profile images and webhook profile images but forgot to apply the same fix to model profile images. The ModelMeta class has no validate_profile_image_url field validator, and the model image serving endpoint has no MIME allowlist or nosniff header. Any authenticated user with workspace.models permission (enabled by default) can store a data:image/svg+xml;base64,... payload in a model's profile image and achieve full account takeover of anyone who navigates to the image URL. This vulnerability is fixed in 0.9.6.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-54013 stems from incomplete input validation in Open WebUI's model profile image handling. The ModelMeta class lacks a validate_profile_image_url field validator that was successfully applied elsewhere, and the model image serving endpoint fails to enforce a MIME type allowlist or set the X-Content-Type-Options: nosniff header. This allows storage and retrieval of data URIs containing base64-encoded SVG payloads. When a victim navigates to the image URL, the browser interprets the SVG as trusted content and executes embedded scripts in the context of the victim's session, bypassing same-origin policy restrictions through the data URI scheme. The vulnerability maps to CWE-116 (Improper Encoding or Escaping of Output), CWE-693 (Protection Mechanism Failure), and CWE-79 (Cross-site Scripting).
Business impact
Account takeover poses a direct threat to data confidentiality and system integrity. In environments using Open WebUI for sensitive AI workloads—research, internal analytics, or development—a compromised admin or power-user account could grant attackers access to conversation history, model configurations, API keys, and downstream integrations. The attack path is asymmetric: a low-privileged user with basic workspace permissions can compromise higher-privileged accounts. For organizations relying on Open WebUI as part of a larger AI infrastructure, this becomes a pivot point for lateral movement.
Affected systems
All versions of Open WebUI prior to 0.9.6 are affected. The vulnerability requires workspace.models permission, which is enabled by default, meaning any authenticated user in a standard deployment can exploit it. Self-hosted deployments are the primary target, as Open WebUI is designed for offline operation.
Exploitability
The attack has a low attack complexity and no special network positioning required—it is fully exploitable by any authenticated user. Two barriers exist: the attacker must possess workspace.models permission (default-enabled), and the victim must click or navigate to the malicious image URL. Social engineering or embedding the image in a shared model or workspace artifact can overcome the second barrier. The CVSS score of 7.6 reflects the high impact (full account takeover) tempered by the requirement for authentication and user interaction.
Remediation
Upgrade to Open WebUI 0.9.6 or later. The fix implements the missing validate_profile_image_url validator for the ModelMeta class and adds proper MIME type validation and nosniff headers to the model image serving endpoint. Organizations should prioritize this patch in environments where Open WebUI is accessible to multiple users or integrated with sensitive workflows.
Patch guidance
1. Verify your current Open WebUI version. 2. Review the official release notes for version 0.9.6 to confirm this vulnerability is included in the patch. 3. Back up your Open WebUI configuration and database. 4. Deploy the patched version in a staging environment first to validate compatibility with your deployment and any custom integrations. 5. Update production instances and verify that model profile images are still functioning correctly post-upgrade.
Detection guidance
Monitor for suspicious activity in model profile image uploads or modifications, particularly by lower-privileged accounts. Check web server logs for requests to model image endpoints that contain data: URIs or base64-encoded payloads. Review audit logs for unusual account login patterns or permission changes immediately following model metadata updates. In containerized deployments, scan image layers and configuration for evidence of data URI payloads in model definitions.
Why prioritize this
Although the CVSS score is 7.6 (HIGH), this vulnerability should be prioritized aggressively because it enables full account takeover with minimal friction—only default permissions and user interaction are needed. The fix is simple and available; delay increases exposure window. Organizations with multi-user deployments or those integrating Open WebUI into broader AI pipelines should treat this as critical.
Risk score, explained
The 7.6 CVSS score reflects high confidentiality impact (account takeover grants access to all account data and permissions) and low integrity impact (the attacker can modify account settings and workflow artifacts). Attack vector is network-accessible, attack complexity is low, and privilege escalation is possible from unprivileged accounts. The primary mitigating factors are the requirement for prior authentication and user interaction; however, both are routine in collaborative environments.
Frequently asked questions
Do I need to be an admin to exploit this?
No. The vulnerability requires only workspace.models permission, which is granted to all authenticated users by default in Open WebUI. This makes it highly accessible.
Can this be exploited without the victim clicking anything?
The current vulnerability requires a victim to navigate to or view the malicious image URL. However, embedding the image in a shared model, workspace announcement, or chat message can make exposure very likely.
Are offline instances safe from this?
No. The vulnerability exists in the application logic itself, not the network layer. Even fully air-gapped instances are vulnerable if they have multiple users.
What should I do if I suspect I've been compromised?
Immediately reset passwords for all admin and high-privilege accounts, revoke API keys, and review recent login logs and permission changes. Audit model definitions for embedded malicious SVGs. Consider restoring from a known-good backup.
This analysis is based on publicly disclosed vulnerability information and the vendor's advisory. Patch version numbers and availability dates should be verified against the official Open WebUI GitHub repository and release notes. Organizations should conduct their own risk assessment based on their deployment topology, user base, and integration with downstream systems. This content does not constitute professional security advice; consult your security team or a qualified third party for incident response or remediation planning. Source: NVD (public-domain), retrieved 2026-07-29. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-42558HIGHXibo Stored XSS and Iframe Sandbox Escape in Data Connector
- CVE-2026-45011HIGHApostropheCMS 4.29.0 Stored XSS in Image Widget – Security Analysis
- CVE-2026-48209HIGHReflected XSS in OTRS Ticket Handling – HIGH Severity Vulnerability
- CVE-2026-12047LOWHTML Injection in pgAdmin 4 Cloud Deployment Wizard
- CVE-2026-44311MEDIUMFabric.js XSS Vulnerability in SVG Serialization
- CVE-2026-54011HIGHOpen WebUI Mermaid XSS Vulnerability – Authentication Required
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation