Bifrost 中的一个关键漏洞允许未认证的攻击者通过单个 HTTP 请求在网关服务器上运行任意命令,该网关是一个开源 AI 网关,负责将请求路由到超过 20 个 LLM 提供商。
该漏洞被追踪为 CVE-2026-90898(CVSS 分数:9.8),影响所有版本的 Bifrost HTTP 传输,直到 2.1.0,当管理身份验证被禁用时,这是默认配置。修复程序已在 transports/v2.1.0 中提供。
发现该漏洞的 JFrog 安全研究的 Yuval Moravchick 表示,攻击者可以通过对管理 API 端点 /api/mcp/client 进行一次未认证的 POST 请求来注册一个 stdio 类型的 MCP 客户端。Bifrost 会立即以网关进程用户的身份启动指定的命令,而无需任何 MCP 握手。
在官方 Docker 镜像中,该用户是 appuser。由于网关为每个连接的提供商存储 API 密钥,在网关进程上执行命令使攻击者能够访问这些凭据。
默认情况下,Bifrost 二进制文件将管理 API 绑定到 localhost,这限制了对本地机器的暴露。官方 Docker 镜像绑定到 0.0.0.0,如果端口被发布,管理 API 可以从容器外部访问。
操作员应升级到 transports/v2.1.0,该版本在未认证的调用者尝试注册 stdio MCP 客户端时返回 403。那些无法立即升级的用户应将 governance.auth_config.is_enabled 设置为 true,使用强凭据,并确保管理监听器不在不受信任的网络上。
JFrog 建议将任何在禁用身份验证和暴露管理 API 的情况下运行的实例视为已被攻破,并轮换虚拟密钥和提供商 API 密钥。
使用 transports/v2.0.0 的操作员仍然受到 MCP 漏洞的影响。该版本仅修复了早期的插件漏洞,并未阻止未认证的注册。1.6.x 版本至 1.6.11 也没有包含修复。
同一研究团队的 Or Peles 发现的第二个相关漏洞于 9 月 6 日披露。CVE-2026-86242(CVSS 分数:8.1)允许未认证的攻击者注册一个路径为 HTTP URL 的自定义插件。Bifrost 下载该文件,将其写入为临时共享对象,并通过 Go 的 plugin.Open 函数加载它。
在 Bifrost 要求的动态链接构建中,插件加载并以网关进程用户的身份运行其代码。在静态链接构建中,包括官方 Docker 镜像,plugin.Open 失败,结果仅为服务器端请求伪造。修复程序在 transports/v2.0.0 中。
这两个漏洞共享相同的根本原因:Bifrost 的管理 API 默认情况下禁用身份验证。它们是该项目在不到一个月内披露的第二个和第三个安全问题,此前在 8 月底修复了一个无关的 SSRF 漏洞(CVE-2026-55245)。
MCP 漏洞遵循的模式已经导致了现实世界的攻击。在 2026 年 4 月,研究人员披露了 MCP 的 STDIO 传输中的设计缺陷,影响了 Anthropic 的官方 SDK。另一个 AI 网关 LiteLLM 中的类似命令注入漏洞被积极利用,并在 6 月被添加到 CISA 的已知被利用漏洞目录中。
截至发布时,Bifrost 的 CVE 尚未出现在 KEV 目录中。
觉得这篇文章有趣吗?请在 Google 新闻、Twitter 和 LinkedIn 上关注我们,以阅读更多我们发布的独家内容。