Description
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.
Published: 2026-06-23
Score: 7.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Open WebUI is a self‑hosted artificial intelligence platform that operates entirely offline. Before version 0.9.6 the developers patched SVG‑based XSS in user‑profile and webhook images, but neglected to apply the same fix to model‑profile images. In those earlier releases the ModelMeta class lacks a validate_profile_image_url field validator, and the model image‑serving endpoint is missing a MIME type allowlist and a nosniff header. Consequently any authenticated user with the default workspace.models permission—enabled by default—can store a data:image/svg+xml;base64 payload as a model’s profile picture. When any user navigates to the image URL the embedded script executes in their browser, enabling full account takeover. This flaw maps to CWE‑79 (stored XSS), CWE‑116 (inconsistent file handling), and CWE‑693 (missing security headers). The issue was fixed in 0.9.6.

Affected Systems

The vulnerability affects the open‑webui:open‑webui platform in all releases prior to version 0.9.6. Deployments that have not applied the patch that adds a validator to ModelMeta and a MIME allowlist to the image serving endpoint, and where the default workspace.models permission remains enabled, are vulnerable.

Risk and Exploitability

The CVSS score of 7.6 indicates high severity. The EPSS score is not available, and the flaw is not listed in CISA KEV. The attack requires an authenticated account with model creation privileges; the attacker can then upload a crafted SVG and any other user who visits the image URL will experience account takeover. The risk is confined to environments that expose the model image URL to internal users or the public internet, but the lack of a nosniff header and MIME allowlist eliminates defensive barriers.

Generated by OpenCVE AI on June 24, 2026 at 10:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Open WebUI 0.9.6 or newer to apply the fixed validation and headers.
  • Revoke or limit workspace.models permission for users who do not need it, preventing the upload of malicious images.
  • Remove or replace any stored model profile images that contain data URI or suspicious content until the patch is applied.
  • Implement a proxy or middleware that enforces MIME type validation and a nosniff header on model image requests.

Generated by OpenCVE AI on June 24, 2026 at 10:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v2qm-5wxj-qhj7 Open WebUI: Stored XSS to Account Takeover via Model Profile Images
History

Tue, 23 Jun 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Open-webui
Open-webui open-webui
Vendors & Products Open-webui
Open-webui open-webui

Tue, 23 Jun 2026 17:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Open WebUI: Stored XSS to Account Takeover via Model Profile Images in Open WebUI
Weaknesses CWE-116
CWE-693
CWE-79
References
Metrics cvssV3_1

{'score': 7.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N'}


Subscriptions

Open-webui Open-webui
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-23T16:46:28.075Z

Reserved: 2026-06-11T16:34:11.636Z

Link: CVE-2026-54013

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-24T11:00:13Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output

  • CWE-693

    Protection Mechanism Failure

  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')