CVE-2026-110264CVSS 10正则编译中的整数溢出
10月21日修复。未经身份验证的用户可以在“特定条件下”在服务器上执行代码,GitLab 没有说明是什么条件。影响 7.0 及之后的版本。由 joaxcar 通过 HackerOne 报告。
说人话: 水管工把管子数错了,结果多出一根直通机房。
九天内第二个 CVSS 10.0:GitLab 再修正则编译器 RCE,这次一路影响到 GitLab 7.0
CISA 现已确认 10 月 12 日 GitLab 正则 RCE(CVE-2026-97229)遭利用。独立的 CVSS 10.0 漏洞 CVE-2026-110264 仍需安装 10 月 21 日面向 GitLab 7.0 及之后版本的修复;只打 10 月 12 日补丁不够。较早的漏洞已有公开 PoC。请升级 GitLab 及受影响 Ruby 应用,并排查暴露的服务器。
给 GitLab 喂一个形状刚好不对的正则表达式,引擎计算大小时就会整数回绕,生成的指令会以 git 用户身份执行攻击者的命令。
GitLab 在很多地方都会执行用户提供的正则表达式:CI 规则、代码所有者、推送规则、标记语言渲染。编译这些正则用的是 Onigmo,也就是 Ruby 背后的正则引擎,GitLab 在自己的安装包里打包并维护它的补丁。这个月研究人员两次在 Onigmo 计算大小的地方发现了溢出,编译器因此生成了错误的字节码,攻击者可以借此以 git 用户身份执行代码。
.gitlab-ci.yml 触发。第二天 Rapid7 就公开了能用的 PoC。厂商定性为无需身份验证,实际上攻击者得能往某个公开项目提交代码,而如果你的实例开放注册,这一点毫无难度。CISA 于 10 月 29 日将 CVE-2026-97229 纳入 KEV,取代了本文此前“两个漏洞均无已确认利用”的说法。这份证据针对 10 月 12 日的兄弟漏洞,不能证明 CVE-2026-110264 已遭攻击。主流平台出现真实利用,仍符合 L4;所引证据尚未证实足以评为 L5 的蠕虫或互联网规模入侵。GitLab.com 和 Dedicated 已在披露前修补;自管版仍需安装上方列出的较新安装包修复。
FCEB 机构对 CVE-2026-97229 的处置期限为 11 月 1 日,KEV 条目要求取证分诊。这是美国联邦要求,不是其他运维方可以等待的宽限期。条件允许时保存证据,尽快修补,并调查此前可能发生的访问。CISA 将勒索软件利用情况列为未知,未提供受害者数量。
10月23日 Ruby 上游更新: 同一批漏洞也影响将攻击者可控字符串编译为正则模式的应用。Ruby 4.0.9、3.4.12 和 3.3.13 包含 GitLab 四个正则 CVE 对应的全部三个修复,包括上方已提及的两个 9 月漏洞。Ruby 4.0.8 缺少 CVE-2026-110264 修复。只使用开发者编写的静态模式不属于此暴露范围。正则超时和模式长度上限都不能可靠防护;升级前应停止接受不可信模式。
表格和检查器覆盖的是内置已修补 Ruby 的 GitLab 安装包。单独升级系统中的 Ruby 不能替代 GitLab 安装包升级。Ruby 尚未为这些修复申请独立 CVE,建议沿用 GitLab 编号跟踪。
Alpine 更新: Alpine 报告 10 月 20–21 日遭利用尝试,未发现成功执行证据,但日志不足以排除。其重建了 GitLab,检查的安装包及发行物未发现篡改;签名密钥从未保存在该服务器。自定义镜像使用未修补的系统 Ruby,因此只升级 GitLab 后仍有漏洞。该次利用尝试不否定 CISA 独立确认的真实利用。
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 发现缓存投毒)。
10月23日 03:11 UTC
Ruby 发布上游修复及影响条件
Ruby 4.0.9、3.4.12 和 3.3.13 包含全部三个底层修复;4.0.8 缺少最新溢出的修复。
2026年10月28日
Alpine 报告利用尝试并重建服务
2026年10月29日
CISA 将 CVE-2026-97229 纳入 KEV
美国联邦文职行政部门机构(FCEB)的处置期限为 11 月 1 日;CISA 标记需要取证分诊。这证实的是 10 月 12 日漏洞遭利用,并非 10 月 21 日的兄弟漏洞。
2026年10月30日
Alpine 发布服务重开后的恢复步骤
我们列出每条说法和它的出处,并标出一手来源(厂商、研究人员、软件仓库)。各方说法不一致时,按最坏的可信情况定级。