CVE-2025-29446
| 评估指标 | 官方评估与明细 |
|---|---|
| CVE 编号 | CVE-2025-29446 |
| 官方处理声明 (Vendor Disposition) | 已驳回 (Rejected) —— 非系统安全漏洞 (Not a Vulnerability) |
| 披露日期 | 2025-04-21 |
| 下发机构 (CNA) | MITRE |
| 宣称的严重等级 | 低危 (Low) —— CVSS 3.3 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) |
| CWE 归类 | CWE-918(服务端请求伪造 —— SSRF) |
CVE 指控的具体内容
该 CVE 指控称,Open WebUI 位于 backend/open_webui/routers/ollama.py 路由代码中的 verify_connection 测试连通性函数,由于未对传入的 URL 进行强力的参数校验过滤,直接使用调用方提供的 URL 字符串发起向外的 HTTP 请求,从而允许攻击者伪造传入的参数去请求内网私有服务,引发服务端请求伪造(SSRF)风险。提报人给出的 PoC 示例显示:通过向 /ollama/verify 接口发送带有 {"url":"http://attacker/?id=1' or 1=1 -- #","key":""} 的 POST 请求,可以利用末尾的 # 字符截断脚本在接口底层强行追加的 /api/version 校验路由,从而迫使 Open WebUI 服务器向攻击者指定的任意 URL 发起 GET 请求。
为什么这不属于系统漏洞
被指控的 /ollama/verify 接口是受 Depends(get_admin_user) 鉴权拦截器强制保护的特权接口。该接口仅且只有系统管理员有权发起请求。该接口在设计之初的唯一业务功能,就是允许管理员测试其刚刚在管理员控制面板里配置录入的 Ollama 模型服务器 URL 是否能够正常通信响应。
所谓的“攻击者”其实就是系统管理员自己
在此份指控报告构想的攻击场景下,所谓的“攻击者”其实就是正在后台配置表单里录入参数的系统管理员自己。管理员在系统中当然拥有绝对特权去把模型服务器指向内网的其他服务 —— 事实上,这本就是配置私有模型服务器的应有之义 —— 这一配置权限的行使绝对谈不上是对任何安全提权防线的突破。任何未登录的普通用户或非 admin 账号,在系统层面上是根本没有任何物理路径可以触碰到这一特权接口的。
相同的设计模式(通过管理员特权鉴权保护的 API 向外发起连接探针, 以验证已录入集成的三方服务接口响应是否正常)同样被广泛应用于其他大模型提供商(如 OpenAI 等)的配对路由代码文件中。它们无一例外都受到严苛的管理员权限拦截,普通用户完全不可达。
适用的安全策略条款
- 安全策略第 9 条:“如果某个所谓的安全漏洞,必须依赖系统管理员手动去实施一系列不安全的操作才能触发,这不属于 Open WebUI 系统的安全缺陷。管理员在系统中拥有最高掌控权,应当理解并对其发起的每一项配置与操作的安全后果负责。”
漏洞披露渠道说明
该 CVE 在对外公布前,漏洞发现人未曾向我们官方指定的唯一披露渠道(即 GitHub Security Advisories)提交过任何相应的技术漏洞报告。
对部署用户的实际影响
部署人员无需采取任何操作。 被指控的测试连通性接口仅允许特权管理员调用,并忠实履行其本就该承担的、用于检验管理员配置的模型接口响应是否正常的业务逻辑。