漏洞概述 | |||
漏洞名称 | GitLab 正则表达式编译器未授权远程代码执行漏洞 | ||
漏洞编号 | QVD-2026-82700,CVE-2026-97229 | ||
公开时间 | 2026-10-13 | 影响量级 | 十万级 |
奇安信评级 | 高危 | CVSS 3.1分数 | 9.9 |
威胁类型 | 代码执行 | 利用可能性 | 高 |
POC状态 | 已公开 | 在野利用状态 | 未发现 |
EXP状态 | 已公开 | 技术细节状态 | 已公开 |
危害描述:攻击者可借由 CI/CD 配置处理链路在无需有效账号凭据的交付阶段触发漏洞,在 GitLab 服务端进程内以运行账户(通常为 git)身份执行任意命令,进而可读取/篡改实例内代码与密钥、横向移动并完全控制实例。配合其他暴露面,可能造成供应链级影响。 | |||
01
漏洞详情
>>>>
影响组件
GitLab 是由 GitLab Inc. 开发的一体化 DevOps 平台,提供代码托管、CI/CD、包与容器镜像管理等能力,广泛部署于企业内网与公网自托管环境。其内嵌 Ruby 运行时(Onigmo 正则引擎)负责解析和编译 `.gitlab-ci.yml` 中的各类正则表达式。
>>>>
漏洞描述
近日,奇安信CERT监测到官方修复GitLab 正则表达式编译器未授权远程代码执行漏洞(CVE-2026-97229),该漏洞源于 GitLab 内嵌 Ruby(Onigmo 正则引擎)在编译 CI/CD 配置中的正则表达式时存在整数溢出与内存管理缺陷:特制的正则表达式可在编译阶段造成内存破坏。攻击者可借由 CI/CD 配置处理链路(包括无需认证即可到达的接口)在 GitLab 服务端进程(Puma/Sidekiq)中执行任意代码。目前该漏洞PoC和技术细节已公开。鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。
>>>>
利用条件
攻击者能够向实例上的公开项目推送分支并提交 CI 配置文件(含特制的正则表达式与文件路径)。
02
影响范围
>>>>
影响版本
GitLab CE/EE 19.2 < 19.2.8
GitLab CE/EE 19.3 < 19.3.5
GitLab CE/EE 19.4 < 19.4.2
03
复现情况
目前,奇安信CERT已成功复现GitLab 正则表达式编译器未授权远程代码执行漏洞(CVE-2026-97229),截图如下:

04
受影响资产情况
奇安信鹰图资产测绘平台数据显示,GitLab 正则表达式编译器未授权远程代码执行漏洞(CVE-2026-97229)关联的国内风险资产总数为107249个,关联IP总数为22627个。国内风险资产分布情况如下:

GitLab 正则表达式编译器未授权远程代码执行漏洞(CVE-2026-97229)关联的全球风险资产总数为173721个,关联IP总数为47285个。全球风险资产分布情况如下:

05
处置建议
>>>>
安全更新
官方已发布安全补丁,请及时更新至最新版本:
GitLab CE/EE ≥ 19.2.8
GitLab CE/EE ≥ 19.3.5
GitLab CE/EE ≥ 19.4.2(或更高受支持版本)
下载地址:
https://about.gitlab.com/update/
临时缓解措施:
1. 收缩暴露面:限制 GitLab 实例的互联网直接访问(VPN/白名单);
2. 关闭或收紧用户注册与项目创建权限,降低攻击者预置条件;
3. 审计并轮换全部 pipeline trigger token,停用不再使用的触发器;
4. 加强监控:关注 Puma/Sidekiq 异常重启、[BUG] Segmentation fault 日志与容器 oom_kill 计数。
06
参考资料
[1]https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/
[2]https://github.com/jburgess-r7/CVE-2026-97229-PoC
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。