Medium severity · published Dec 4, 2025
CVE-2025-65959
Open WebUI vulnerable to Stored DOM XSS via Note 'Download PDF'
5.4
CVSS
0.2%
EPSS
No
On KEV
Description
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a Stored XSS vulnerability was discovered in Open-WebUI's Notes PDF download functionality. An attacker can import a Markdown file containing malicious SVG tags into Notes, allowing them to execute arbitrary JavaScript code and steal session tokens when a victim downloads the note as PDF. This vulnerability can be exploited by any authenticated user, and unauthenticated external attackers can steal session tokens from users (both admin and regular users) by sharing specially crafted markdown files. This vulnerability is fixed in 0.6.37.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
Required
Confidentiality
Low
Integrity
Low
Availability
None
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 14% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
open-webui · open-webui
< 0.6.37 · source: vendor
OW
Open Webui · Openwebui
before 0.6.37 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2025-65959
CVE.org
https://www.cve.org/CVERecord?id=CVE-2025-65959
Patch
https://github.com/open-webui/open-webui/commit/03cc6ce8eb5c055115406e2304fbf7e3338b8dce
Exploit
https://github.com/open-webui/open-webui/security/advisories/GHSA-8wvc-869r-xfqf
More from open-webui
9.8
CVE-2026-44566
Open WebUI: Arbitrary File Upload and Path Traversal
9.6
CVE-2026-56400
open-webui - Remote Code Execution via CORS Misconfiguration and Session Validation
9.1
CVE-2026-44551
Open WebUI: LDAP Empty Password Authentication Bypass
9.0
CVE-2026-56398
Open WebUI - Stored Cross-Site Scripting via OAuth Picture Claim SVG Data URI
9.0
CVE-2026-59216
Open WebUI: Cross-user code-interpreter and tool execution via unvalidated Socket.IO event-caller session_id
