CVE-2026-45665Open WebUI是一个自托管的人工智能平台。在0.8.0版本之前,该平台在Banner组件中存在一个存储型XSS漏洞。该漏洞源于不当的清理顺序,导致DOMPurify在marked库之前执行。这使得受损或恶意的管理员能够在全局banner中植入恶意载荷。由于该banner对所有用户(包括超级管理员)可见,攻击者可利用此漏洞窃取超级管理员的会话令牌,从而实现权限提升并绕过现有的安全机制。
该漏洞的核心技术成因在于Open WebUI在处理Banner组件内容时,安全库的加载顺序存在逻辑缺陷。具体而言,系统错误地先执行DOMPurify进行HTML清理,随后再使用marked库将Markdown文本解析渲染为HTML。由于DOMPurify是在Markdown解析之前运行,它无法检测到marked库在解析过程中可能生成的恶意HTML标签或事件处理器。攻击者(通常已获得管理员权限或攻破管理员账户)利用这一逻辑漏洞,精心构造包含恶意JavaScript代码的Markdown文本,并将其注入到全局Banner设置中。当系统保存并渲染该Banner时,恶意代码被保留。一旦超级管理员或任何其他用户访问包含该Banner的页面,恶意脚本便会在其浏览器中触发执行。攻击者利用此机会窃取受害者的Session Token,从而完全接管受害者账户,实现垂直权限提升。