Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. open-webui
  4. ›
  5. GHSA-3wgj-c2hg-vm6q

GHSA-3wgj-c2hg-vm6q: Open WebUI vulnerable to stored XSS via OAuth picture claim stored as SVG data URI in profile_image_url

May 14, 2026

When a user signs in via OAuth, Open WebUI fetches the picture claim URL, infers a MIME type from the URL extension via mimetypes.guess_type, and stores data:<mime>;base64,... as the user’s profile image. The OAuth code path does not go through the validate_profile_image_url Pydantic validator that normally restricts profile images to PNG/JPEG/GIF/WebP. A .svg URL in the picture claim lands in the database as data:image/svg+xml;base64,....

The profile image endpoint GET /api/v1/users/{id}/profile/image returns the stored data URI with the attacker-controlled MIME type as Content-Type and Content-Disposition: inline. Security headers (CSP, X-Content-Type-Options) are env-gated and not set by default. An authenticated user navigating directly to that URL gets the SVG as a top-level document, executing <script>/onload in the same origin and able to read localStorage.token → account takeover.

Same class of trust-boundary error as CVE-2025-64496 (trust of untrusted model servers) and CVE-2025-64495 (rich-text XSS). Different sink, different code path.

References

  • github.com/advisories/GHSA-3wgj-c2hg-vm6q
  • github.com/open-webui/open-webui/releases/tag/v0.9.5
  • github.com/open-webui/open-webui/security/advisories/GHSA-3wgj-c2hg-vm6q

Code Behaviors & Features

Detect and mitigate GHSA-3wgj-c2hg-vm6q with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 0.9.5

Fixed versions

  • 0.9.5

Solution

Upgrade to version 0.9.5 or above.

Impact 7.3 HIGH

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-20: Improper Input Validation
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

pypi/open-webui/GHSA-3wgj-c2hg-vm6q.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 23 Jun 2026 12:23:56 +0000.