跳到主要内容

CVE-2026-0766

CVE IDCVE-2026-0766
厂商处理已拒绝 — 不是漏洞
发布时间2026-01-23
发布 CNAZero Day Initiative(ZDI-26-032)
声称严重性高(CVSS 8.8 — CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-94(代码注入)

CVE 声称内容

backend/open_webui/utils/plugin.py 中的函数 load_tool_module_by_id 声称允许低特权认证的远程攻击者通过提交包含任意 Python 的工具来执行任意 Python 代码,然后函数将其传递给 exec()


为什么这不是漏洞

load_tool_module_by_id 是 Open WebUI 加载用户撰写的工具的核心机制。工具是用户撰写并由服务器执行的 Python 模块 — 这是显式功能设计。该函数从数据库读取工具源、解析其 frontmatter 并对源调用 exec() 来实例化模块。没有"验证"可被添加;输入用户已提交要执行的 Python 模块。

这镜像每个其他代码扩展系统的设计:Jupyter 执行笔记本单元,n8n 执行代码节点,Home Assistant 执行 python_script 文件。对提交的代码调用 exec() 是功能,而不是缺陷。

访问控制

调用 load_tool_module_by_id 的路由由 user.role == 'admin'workspace.tools 权限进行门禁,它为非管理员用户默认禁用的。授予 workspace.tools 在文档中被记录为等同于给用户服务器的 shell 访问权限。没有渠道允许非特权用户到达此函数。

CVSS 准确性

发布的 CVSS 将特权要求评为 PR:L(低)。这在方法上是不正确的 — 该函数仅可被管理员(PR:H)或被明确授予根等效权限的用户到达。

适用的安全政策规则

  • 规则 10 工具功能被设计为在服务器上执行用户提供的 Python 代码。涉及工具或函数的报告作为预期行为关闭。
  • 规则 9 "将不受信任的代码粘贴到函数/工具中"被明确引用为超出范围。
  • 规则 1 预期协议行为不是漏洞。

对用户的影响

无需行动。 本 CVE 描述了设计中的预期行为。工具按设计在服务器上执行 Python 代码。如果您已授予 workspace.tools 给不受信任的用户,请审查插件安全文档


参考

本内容仅供参考,不构成任何保证、担保或合同承诺。Open WebUI 按“现状”提供。请参阅您的许可协议 以了解适用条款。