【漏洞预警】GitLab CI/CD 正则表达式编译器未授权远程代码执行漏洞PoC已公开(CVE-2026-97229)

匿名者  2小时前

漏洞预警文章封面.png

▌漏洞描述

      GitLab CE/EE 是面向企业研发协作的一体化 DevOps 平台,提供代码托管、CI/CD、包与容器镜像管理等能力,通常部署在企业内网与公网自托管环境,承载代码协作、流水线构建与制品交付业务。

      近日,GitLab 发布关键补丁版本 19.4.2、19.3.5、19.2.8,修复 CI/CD 正则表达式编译器中的整数溢出漏洞(CVE-2026-97229):CI/CD 配置中的特制正则表达式可触发整数溢出,由于正则表达式校验不足,未认证用户可在 GitLab 服务端执行任意代码。官方说明 19.2、19.3、19.4 三个分支的较早版本均受影响,各部署形态一并涉及;GitLab.com 已完成修复,GitLab Dedicated 用户无需操作。官方公告未提及该漏洞已被利用。

      同一补丁版本还修复了另外 23 个安全漏洞,升级至下表修复版本可一并修复。

受影响产品受影响版本修复版本/补丁状态
GitLab CE/EE(19.4 分支)< 19.4.219.4.2 或更高版本
GitLab CE/EE(19.3 分支)< 19.3.519.3.5 或更高版本
GitLab CE/EE(19.2 分支)< 19.2.819.2.8 或更高版本
▌利用条件

      利用条件: 无需用户凭据,无需受害者交互,默认配置下即受影响。

      大致利用链路: 未认证攻击者向实例提交含特制正则表达式的 CI/CD 配置 -> 服务端交付阶段接收该配置并交由正则表达式编译器编译 -> 编译过程中发生整数溢出,正则表达式校验不足未能拦截 -> 异常内存操作被转化为服务端进程内的代码执行 -> 在 GitLab 服务端执行攻击者指定的命令。

▌威胁状态分析

      该漏洞位于企业研发交付入口且无需认证即可触发,影响不限于单一实例。GitLab 实例承载代码仓库、流水线配置与制品库,攻击者执行命令后可读取或篡改源码、流水线配置与令牌凭据,进而影响业务系统的构建与发布链路,并可能以该实例为跳板向内网横向活动。

      通过 FOFA 测绘可以看到,截至当前,全球暴露在公网的 GitLab 相关资产约为 372,475 条,共涉及 187,721 个独立 IP,其中中国的资产占比较高。

image.png

▌排查和修复建议
  • 盘点全部自托管 GitLab 实例,核验实际版本、部署形态与公网暴露情况,容器与 Helm 部署一并纳入。

  • 优先处置公网可达、承载代码托管与流水线构建业务的实例,以及历史、测试和第三方维护实例。

  • 按分支升级至 19.4.2、19.3.5、19.2.8 或更高版本;升级前完成配置备份,升级后复核各节点版本一致性。

  • 官方未发布临时缓解措施;无法立即升级时,先将实例移出公网访问范围,并收紧新用户注册与项目创建权限。

  • 审计 GitLab 应用与反向代理日志中正则表达式编译相关的异常未认证请求,排查服务端进程异常崩溃记录并轮换相关凭据。

▌产品支持情况

      华顺信安全产线产品已支持 GitLab 相关产品组件暴露面风险资产规则识别,可用于辅助完成资产定位与修复排查。

image.png▌参考

最新评论

昵称
邮箱
提交评论