CVE-2025-64496Open WebUI是一个自托管的人工智能平台,设计用于完全离线运行。该平台0.6.224及之前版本中的Direct Connections功能存在严重的代码注入漏洞。攻击者可以通过构造恶意的外部模型服务器,在Server-Sent Event (SSE) execute事件中注入任意JavaScript代码,当受害者浏览器连接该恶意服务器时,注入的代码会自动执行。此漏洞可导致认证令牌被盗用、账户被完全接管,甚至结合Functions API实现后端服务器的远程代码执行。攻击成功需要受害者主动启用Direct Connections功能(该功能默认禁用)并添加攻击者控制的恶意模型URL,通常需要通过社会工程学手段诱骗管理员和用户添加恶意服务器地址。
该漏洞存在于Open WebUI的Direct Connections功能模块中,该功能允许用户连接外部AI模型服务器。攻击者利用Server-Sent Event (SSE)协议的execute事件机制,在SSE响应流中注入恶意JavaScript代码。SSE协议本身支持在事件流中传输可执行指令,当Open WebUI的前端解析这些事件时,未对内容进行充分的输入验证和输出编码,直接将攻击者可控的数据作为JavaScript代码执行。具体利用过程:攻击者搭建一个恶意的模型服务器,该服务器返回的SSE响应中包含带有恶意payload的事件(如:data: <script>alert(document.cookie)</script>或data: execute(恶意代码))。当受害者在Open WebUI中添加此恶意模型URL并建立连接后,浏览器会解析SSE响应并执行注入的代码。由于Open WebUI使用JWT等令牌进行身份认证,恶意JavaScript可以读取存储在浏览器中的认证令牌并发送到攻击者控制的服务器。攻击者获取令牌后可接管账户,并可进一步利用Functions API的功能实现后端服务器的远程代码执行。