CVE-2026-110264CVSS 10正则编译中的整数溢出
10月21日修复。未经身份验证的用户可以在“特定条件下”在服务器上执行代码,GitLab 没有说明是什么条件。影响 7.0 及之后的版本。由 joaxcar 通过 HackerOne 报告。
说人话: 水管工把管子数错了,结果多出一根直通机房。
九天内第二个 CVSS 10.0:GitLab 再修正则编译器 RCE,这次一路影响到 GitLab 7.0
CVE-2026-110264(CVSS 10.0)是 Onigmo 正则编译器里的整数溢出,未经身份验证的用户就能在自管版 GitLab 上执行代码,影响 7.0 及之后的版本。它距离兄弟漏洞 CVE-2026-97229 只隔了九天,后者已有公开 PoC。10月12日打过补丁的服务器照样受影响。
给 GitLab 喂一个形状刚好不对的正则表达式,引擎计算大小时就会整数回绕,生成的指令会以 git 用户身份执行攻击者的命令。
GitLab 在很多地方都会执行用户提供的正则表达式:CI 规则、代码所有者、推送规则、标记语言渲染。编译这些正则用的是 Onigmo,也就是 Ruby 背后的正则引擎,GitLab 在自己的安装包里打包并维护它的补丁。这个月研究人员两次在 Onigmo 计算大小的地方发现了溢出,编译器因此生成了错误的字节码,攻击者可以借此以 git 用户身份执行代码。
.gitlab-ci.yml 触发。第二天 Rapid7 就公开了能用的 PoC。厂商定性为无需身份验证,实际上攻击者得能往某个公开项目提交代码,而如果你的实例开放注册,这一点毫无难度。两个漏洞都是 CVSS 10.0、无需身份验证,出在核心开发平台上,其中一个还有公开 PoC,已经很接近 L5 了。我们暂定 L4,是因为 GitLab.com 和 Dedicated 在披露前就已修复,两个漏洞都还没有利用报告,而且截至 10月22日 CISA 也没把它们列入 KEV。一旦出现利用,就升到 L5。欢迎提 PR。
CVE-2026-110264CVSS 1010月21日修复。未经身份验证的用户可以在“特定条件下”在服务器上执行代码,GitLab 没有说明是什么条件。影响 7.0 及之后的版本。由 joaxcar 通过 HackerOne 报告。
说人话: 水管工把管子数错了,结果多出一根直通机房。
CVE-2026-97229CVSS 1010月12日在 19.2.8 / 19.3.5 / 19.4.2 中修复。.gitlab-ci.yml 里精心构造的正则先以 US-ASCII 通过校验,Onigmo 再按 UTF-8 重新编译时就会溢出。Rapid7 已复现并公开 PoC;利用需要对某个公开项目有提交权限,而只要开放注册,谁都能拿到。
在每台机器上运行 sudo gitlab-rake gitlab:env:info | grep -i version,然后输入版本号,或者点一个最接近的。
| 分支 | 安全版本 | 状态 |
|---|---|---|
| GitLab 19.5 | 19.5.1 | |
| GitLab 19.4 | 19.4.3 | 含数据库迁移 |
| GitLab 19.3 | 19.3.6 | 含数据库迁移 |
| GitLab 19.2 | 19.2.9 | 回溯补丁(仅关键修复) |
| GitLab 19.1 | 19.1.9 | 回溯补丁(仅关键修复) |
| GitLab 19.0 | 19.0.10 | 回溯补丁(仅关键修复) |
| GitLab 7.0 – 18.11 | 18.11.13 | 回溯补丁。更老的版本请升级到 18.11.13 或更高 |
2026年9月23日
GitLab 修复两个需要登录的 9.9 分代码执行漏洞
CVE-2026-93577 和 CVE-2026-89078。
2026年10月2日
自托管 AI Gateway 修复一个 9.9 分的模板沙箱逃逸
CVE-2026-90970,已在 gateway 19.2.4 / 19.3.2 / 19.4.1 中修复。同一个月,不同组件。
2026年10月12日
CVE-2026-97229 在 19.2.8、19.3.5 和 19.4.2 中修复
2026年10月13日
Rapid7 复现 CVE-2026-97229 并公开 PoC
2026年10月21日
CVE-2026-110264 在七条版本线上修复,另附 11 个安全修复
GitLab 说一共 12 个问题,部分媒体说是 11 个。一并修复的还有 CVE-2026-15723(8.2 分,SAML/LDAP 自动关联导致账号接管)和 CVE-2026-112212(7.5 分,OAuth/OIDC 发现缓存投毒)。
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。