CVE-2026-90970:GitLab AI Gateway 提示模板沙箱逃逸可致命令执行

事件概述

GitLab 于 10 月 2 日披露并修复 AI Gateway 中的一处严重漏洞,编号 CVE-2026-90970,CVSS v3.1 评分 9.9。攻击者需为拥有 Duo Agent Platform 访问权限的已认证用户,可通过特制的 flow 配置逃逸提示模板沙箱,最终在 AI Gateway 上执行任意命令。

修复版本为 AI Gateway 19.2.4、19.3.2 与 19.4.1。GitLab 表示其托管版网关已完成修复,但自建(Self-Hosted)网关需用户自行升级。

影响版本与组件

分支 受影响范围 首个修复版本
19.4 19.4 至 19.4.1 之前 19.4.1
19.3 19.3 至 19.3.2 之前 19.3.2
19.2 18.1.6 起至 19.2.4 之前 19.2.4

需要特别提醒:AI Gateway 以独立 Docker 镜像或 Helm Chart 方式部署,其版本号与主 GitLab 实例版本并不一致。管理员必须单独核对网关版本,不能仅看 GitLab 主程序版本。

技术细节

该漏洞归类为 CWE-1336(模板引擎特殊元素处理不当)。GitLab 官方描述指出,用户在 Duo Agent Platform 中提交特制的 flow 配置后,模板处理可越过沙箱边界,进而在网关进程上下文执行命令。

攻击要求为:网络可达、复杂度低、需低权限账号(PR:L)、无需用户交互,且作用域变更(S:C),机密性、完整性与可用性影响均为高。GitLab 同时提示,自建 AI Gateway 使用 JWT 签名密钥做认证,一旦网关被拿下,这些密钥与配置中的模型提供方凭证都可能暴露。

影响评估

AI Gateway 位于开发者平台、AI 模型、智能体工作流与源码仓库之间,属于典型的”AI 控制面”。在网关上取得命令执行后,攻击者可读取网关环境中的凭证与配置、篡改 AI 请求与响应,并视部署方式横向接触内部服务。

GitLab 公告未说明该漏洞已遭在野利用,公开渠道也暂未见可靠的概念验证代码。需要注意的是,GitLab 此前修复过同类问题 CVE-2026-1868,同样为 CVSS 9.9、同样属 CWE-1336,说明模板处理是该组件反复出现风险的薄弱环节。

修复建议

  • 升级自建 AI Gateway 至 19.2.4 / 19.3.2 / 19.4.1(或更高版本)。Docker 部署需替换镜像,Helm 部署需更新镜像 tag,并注意缓存镜像可能导致拉取到旧代码,建议固定镜像 digest 或调整 pullPolicy。
  • GitLab 未提供缓解措施,无法立即升级的环境应先限制网关的入站访问来源与不必要的出站流量。
  • 复核 Duo Agent Platform 的账号授权范围与自定义 flow 配置,排查是否有非预期变更。
  • 轮换 AI Gateway 的 JWT 签名密钥及其他敏感凭证,并审计升级前的可疑命令执行与配置变更记录。
  • 为网关补齐出站访问日志与进程审计,便于后续检测同类越权行为。

参考来源