CVE-2026-45402Open WebUI是一个自托管的人工智能平台。在0.9.5版本之前,由于多个端点在处理用户提供的file_id时未验证调用者是否拥有该文件的访问权限,导致存在一个严重的访问控制缺陷。攻击者可以利用此漏洞,通过已知的文件UUID,将其他用户的私有文件关联到自己控制的资源(如文件夹或知识库)中,进而窃取任意私密文件数据,甚至在特定路径下覆盖目标文件。该漏洞允许任何经过身份验证的用户执行这些操作,严重威胁系统数据的机密性和完整性。
该漏洞的核心原理在于不安全的直接对象引用(IDOR)。受影响的代码位于`backend/open_webui/routers/folders.py`和`backend/open_webui/routers/knowledge.py`中。具体来说,`POST /api/v1/folders/{id}/update`、`add_file_to_knowledge_by_id`以及`add_files_to_knowledge_by_id_batch`等接口直接接收用户提交的`file_id`参数。系统在处理这些请求时,仅验证了调用者对目标文件夹或知识库的权限,却完全忽略了对`file_id`所指向文件的所有权校验。利用方式要求攻击者首先注册并登录系统(低权限用户),然后通过某种方式猜测或枚举目标文件的UUID。一旦获得UUID,攻击者即可构造恶意请求,利用上述API将自己控制的资源与目标文件进行绑定。绑定成功后,通过下游的RAG(检索增强生成)或文件内容获取接口,攻击者即可读取原本无权访问的文件内容。此外,在知识库路径下,该机制还可能被用于覆盖文件,造成完整性破坏。