文章总结: GitLabAIGateway曝出CVE-2026-90970严重漏洞,CVSS评分9.9。认证用户可利用CustomFlow的PromptTemplate沙箱逃逸执行任意命令,主要影响Self-HostedAIGateway。官方已发布修复版本19.2.4、19.3.2和19.4.1,建议立即升级并检查敏感凭据泄露风险。
综合评分: 92
文章分类: 漏洞分析,应急响应,安全建设
GitLab AI Gateway曝CVSS 9.9严重漏洞(CVE-2026-90970),认证用户可逃逸模板沙箱执行任意命令
原创
tuto
tuto
杂杂咱谈
2026年10月3日 10:35
福建
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
一、漏洞概述
GitLab于2026年10月2日披露并修复了GitLab AI Gateway中的严重安全漏洞CVE-2026-90970。该漏洞CVSS v3.1评分达到9.9(Critical),问题存在于Custom Flow的Prompt Template处理机制中。
在特定条件下,拥有Duo Agent Platform访问权限的已认证用户可以通过构造恶意Flow配置,逃逸Prompt Template沙箱,并最终在AI Gateway服务器上执行任意命令。
CVE-2026-90970漏洞重点影响的是自行托管的GitLab AI Gateway。其托管的AI Gateway已经完成修复,因此使用GitLab.com、GitLab Dedicated以及使用GitLab托管AI Gateway的Self-Managed实例无需针对该漏洞采取额外操作。
二、技术细节
1. 漏洞根因
CVE-2026-90970属于CWE-1336: 模板引擎中特殊元素未正确中和。CVE-2026-90970漏洞位于GitLab AI Gateway的Custom Flow Prompt Template处理机制。
Duo Agent Platform允许用户创建基于AI的Custom Flow,通过多个步骤自动执行任务。攻击者可以构造特殊的Flow配置,使恶意输入突破原本用于限制模板执行范围的Prompt Template Sandbox。
GitLab官方对漏洞的描述是:在特定条件下,拥有Duo Agent Platform访问权限的认证用户可以利用经过特殊构造的Flow配置逃逸Prompt Template Sandbox,并最终导致AI Gateway上的任意命令执行。
攻击链可以概括为:
已认证用户 │ ▼ Duo Agent Platform │ ▼ 创建恶意Custom Flow │ ▼ 构造特殊Flow配置 │ ▼ Prompt Template Sandbox │ X 沙箱逃逸 │ ▼ 模板引擎执行攻击者控制内容 │ ▼ AI Gateway │ ▼ 任意命令执行
2. 攻击条件
目前GitLab公开公告没有进一步披露完整利用条件以及所需的具体用户角色,仅明确要求攻击者拥有Duo Agent Platform访问权限的已认证用户,因此,该漏洞并不是典型的互联网未认证远程RCE。
攻击者首先需要获得GitLab认证账户,并具备Duo Agent Platform相关访问权限,然后通过构造恶意Custom Flow触发漏洞。
3. 漏洞影响
成功实现Prompt Template Sandbox逃逸后,攻击者可能在AI Gateway所在环境执行任意命令。
对于Self-Hosted AI Gateway而言,这一风险尤其值得关注,因为AI Gateway不仅负责GitLab与AI模型之间的请求转发,还处于企业自身基础设施内部。
根据GitLab文档,Self-Hosted AI Gateway可以部署在客户自己的环境中,并与GitLab实例以及组织使用的AI模型提供商建立连接。
因此,攻击者取得Gateway命令执行能力后,潜在影响包括:
- 执行任意系统命令;
- 读取AI Gateway本地文件;
- 获取Gateway运行环境中的敏感信息;
- 获取环境变量和配置数据;
- 获取与GitLab通信相关的凭据;
- 进一步访问GitLab实例;
- 访问AI模型服务相关配置;
- 以AI Gateway所在主机权限实施后续攻击。
GitLab官方安装文档特别指出Self-Hosted AI Gateway中存在用于JWT签名的密钥,这类密钥应当按照敏感凭据进行保护。因此,一旦Gateway遭到命令执行攻击,相关密钥和其他运行时秘密也可能面临泄露风险。
三、受影响版本
此次漏洞针对的是GitLab AI Gateway版本,而不是GitLab CE/EE主程序版本。
| AI Gateway版本 | 状态 | 修复版本 |
| — | — | — |
| 18.1.6及以上、低于19.2.4 | 受影响 | 19.2.4 |
| 19.3.x、低于19.3.2 | 受影响 | 19.3.2 |
| 19.4.x、低于19.4.1 | 受影响 | 19.4.1 |
| 19.2.4 | 已修复 | — |
| 19.3.2 | 已修复 | — |
| 19.4.1 | 已修复 | — |
GitLab官方确认受影响范围为:
18.1.6 <= version < 19.2.419.3.x < 19.3.219.4.x < 19.4.1
修复版本分别为19.2.4、19.3.2和19.4.1。
需要特别注意,18.1.6至19.1.x这一范围同样处于影响范围内,目前官方公告没有列出低于19.2.4的单独修复版本。因此,运行旧版本Gateway的管理员需要结合GitLab官方支持版本和升级路径进行处理。
四、漏洞信息
| 项目 | 信息 |
| — | — |
| 漏洞编号 | CVE-2026-90970 |
| 产品 | GitLab AI Gateway |
| 组件 | Custom Flow Prompt Template |
| 漏洞类型 | 模板注入 / Prompt Template Sandbox逃逸 |
| CWE | CWE-1336 |
| CVSS v3.1 | 9.9 (Critical) |
| CVSS向量 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| 攻击权限 | 已认证 |
| 所需权限 | Duo Agent Platform访问权限 |
| 主要影响 | AI Gateway任意命令执行 |
| 重点影响环境 | Self-Hosted AI Gateway |
| 修复版本 | 19.2.4 / 19.3.2 / 19.4.1 |
| 报告者 | HackerOne用户 invisiblemeerkat |
| 公开PoC | 暂无确认 |
| 在野利用 | 目前未确认 |
GitLab官方给出的CVSS为9.9,攻击向量为网络远程攻击、低复杂度、需要低权限认证,并可能造成跨安全边界的机密性、完整性和可用性影响。
五、不同部署方式的影响
此次漏洞并不是所有GitLab用户都需要单独升级AI Gateway。
GitLab.com
GitLab表示,GitLab托管的AI Gateway已经完成修复。
用户无需自行处理AI Gateway升级。
GitLab Dedicated
GitLab Dedicated使用GitLab托管的AI Gateway,同样已经完成修复。
GitLab Self-Managed + GitLab托管Gateway
如果Self-Managed实例使用的是GitLab提供的托管AI Gateway,则不需要针对该漏洞自行升级Gateway。
GitLab Self-Managed + Self-Hosted AI Gateway
这是此次漏洞的主要受影响场景。
如果企业自行部署GitLab AI Gateway,则需要检查Gateway版本,并升级至:
19.2.4 19.3.2 19.4.1
中的对应修复版本。GitLab官方已明确建议所有受影响的Self-Hosted AI Gateway立即升级。
六、修复与升级建议
1. 立即升级AI Gateway
根据部署方式升级对应Docker镜像或Helm部署版本。
Docker部署通常需要:
docker stop gitlab-aigw docker rm gitlab-aigw docker pull docker run ...
GitLab官方安装文档说明,AI Gateway作为独立服务部署,可以通过更新Docker镜像完成升级;Kubernetes/Helm部署则需要更新对应的镜像版本。
例如使用19.4分支时,应升级至:
self-hosted-v19.4.1-ee
2. 检查Gateway部署方式
管理员首先应确认:
GitLab │ ├── GitLab-hosted AI Gateway │ └── 已由GitLab修复 │ └── Self-Hosted AI Gateway └── 需要检查并升级
3. 检查敏感凭据
如果受影响版本的Self-Hosted AI Gateway曾经暴露于不可信用户环境,建议在升级后评估:
- JWT Signing Keys;
- GitLab访问凭据;
- AI模型Provider API Key;
- 环境变量;
- Gateway配置文件;
- Kubernetes Secrets;
- Docker Secrets。
对于无法排除已经被攻击的环境,应进一步考虑轮换相关敏感凭据。
七、漏洞利用与安全状态
目前公开信息没有确认CVE-2026-90970已经被实际利用。
GitLab公告也没有披露该漏洞存在公开PoC。当前已知信息主要来自GitLab官方安全公告及相关漏洞披露。
八、与CVE-2026-1868的关系
值得注意的是,GitLab在2026年2月还修复过另一个AI Gateway严重漏洞CVE-2026-1868。
两者存在一定技术上的相似性:
| 项目 | CVE-2026-1868 | CVE-2026-90970 |
| — | — | — |
| 产品 | GitLab AI Gateway | GitLab AI Gateway |
| CVSS | 9.9 | 9.9 |
| 核心问题 | 不安全模板展开 | Prompt Template Sandbox逃逸 |
| 攻击者 | 已认证用户 | 已认证用户 |
| Duo Agent Platform | 涉及 | 涉及 |
| 潜在影响 | DoS / Gateway代码执行 | Gateway任意命令执行 |
| CWE | CWE-1336 | CWE-1336 |
GitLab此前已经在18.6.2、18.7.1和18.8.1等版本中修复CVE-2026-1868。
这表明AI Gateway中的模板处理机制是值得重点审计的安全边界,尤其是在允许用户创建自定义AI Flow的情况下。
九、安全建议
针对使用GitLab Duo Self-Hosted/Self-Hosted AI Gateway的企业,建议:
- 立即确认AI Gateway实际部署版本;
- 受影响版本升级至 19.2.4、19.3.2或19.4.1;
- 确认GitLab与AI Gateway版本之间的兼容关系;
- 限制能够使用Duo Agent Platform和创建Custom Flow的账户;
- 对异常Custom Flow配置进行审计;
- 检查AI Gateway日志中的异常命令执行行为;
- 检查JWT Signing Keys及AI Provider API Key是否存在泄露迹象;
- 对无法排除遭受攻击的环境轮换相关敏感凭据;
- 不要将Self-Hosted AI Gateway直接暴露给不受信任的网络。
GitLab AI Gateway #CVE-2026-90970
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:杂杂咱谈 tuto
tuto《GitLab AI Gateway曝CVSS 9.9严重漏洞(CVE-2026-90970),认证用户可逃逸模板沙箱执行任意命令》