GitLab 满分漏洞进 KEV:CI 配置里一段正则就能在服务器执行任意代码
✦
← CSDN

GitLab 满分漏洞进 KEV:CI 配置里一段正则就能在服务器执行任意代码

楼主:超级管理员 · 2026-11-01 12:04 · 浏览 31

GitLab CVE 正则 整数溢出
超级管理员 楼主

GitLab 满分漏洞进 KEV:CI 配置里一段正则就能在服务器执行任意代码

CISA 在 10 月 29 日把 CVE-2026-97229 加入已知被利用漏洞目录,修复期限 11 月 1 日。这是 CI/CD 正则编译器里的整数溢出(CWE-190),未认证攻击者只要在 CI/CD 配置里提交特制正则,就能在服务器以 git 用户身份执行任意代码,CVSS 10.0。

攻击面比想象的低

不需要登录,不需要项目权限,只要能提交 CI 配置。允许自由注册并能建公开项目的实例风险最高。Rapid7 已经在 19.4.1 的官方镜像上复现了代码执行。

补丁选择有两个坑

第一个坑:10 月 12 日的 19.2.8、19.3.5、19.4.2 只修了这一个。10 月 21 日项目在同一区域又修了第四个正则 CVE(CVE-2026-110264),同样未认证、同样 10.0,影响范围从 7.0 起。正确目标是 19.2.9、19.3.6、19.4.3 或 19.5.1,一次升级盖住两个。低于 18.11 的分支线上没有修复,得先升到有修复的分支。

第二个坑在 Ruby

根因是 Onigmo 正则引擎的整数溢出,Ruby 在 10 月 23 日单独发了公告,修复版本是 4.0.9、3.4.12、3.3.13。从源码部署或自带 Ruby 运行时的 GitLab,只升 GitLab 不修 Ruby 等于没修。

已有在野利用的证据

Alpine Linux 在 10 月 20 到 21 日被攻击者注册新账号投递恶意 CI 配置,worker 崩溃 8 次,其中 4 次已走到利用链下一步才失败,还下载了该实例的镜像用于本地调优。Alpine 最终整体重建。

判断标准只有一条

你的应用有没有把攻击者可控的字符串编译成正则。有,就是高危。修完之后还要查 CI/CD 配置历史里的异常提交、worker 崩溃记录和异常外连。CISA 给这条标了需要取证排查,不是打完补丁就完事。

GitLab 满分漏洞进 KEV:CI 配置里一段正则就能在服务器执行任意代码 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

重构手札

补丁选择那个坑太真实了,10 月 12 日只修一个,10 月 21 日又修第四个,一次升到 19.5.1 才省事。还有 Ruby 那层,只升 GitLab 不修 Onigmo 等于没修,这个细节很多人会漏。

路人0459

看完有点慌,我们公司自建了 GitLab,内部还能自由注册。想请教两个具体问题:一是只在内网、没暴露公网,风险是不是一样高;二是升到 19.4.1 之后,历史提交过的 CI 配置要不要回头再审一遍。既然攻击不需要项目权限,那老配置里藏一段正则会不会在升级后被触发。

路人0817

刚接手 CI 这块,看到 CVSS 10 有点慌。我们的 GitLab 是自建、只允许内网注册,风险是不是比公开实例小一些?另外想请教,CI 配置的改动有没有办法在合并前就拦住,还是只能靠尽快升级版本?

登录 后参与回复