2026-10-25
GitLab CVE-2026-110264(CVSS 10.0)与已被利用的 CVE-2026-97229:如何检查并更新自托管 GitLab
2026 年 10 月 21 日,GitLab 为社区版(CE)和企业版(EE)发布了关键补丁版本 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10 和 18.11.13。其中最严重的漏洞 CVE-2026-110264(CVSS 10.0)是在编译经过特殊构造的正则表达式时出现的整数溢出,在某些条件下可能使未经身份验证的用户在 GitLab 服务器上执行任意代码。自 7.0 起几乎所有版本都受影响。10 月 29 日,CISA 将与之相近的漏洞 CVE-2026-97229(CVSS 10.0,CWE-190)列入已知被利用漏洞(KEV)目录,处置期限为 11 月 1 日。它是同一类漏洞(CI/CD 正则表达式编译器中的整数溢出,未经身份验证的用户即可触及),GitLab 已于 10 月 12 日在 19.4.2、19.3.5 和 19.2.8 中修复,仅影响 19.2.0 至 19.2.7、19.3.0 至 19.3.4 和 19.4.0 至 19.4.1。仍低于 19.4.2、19.3.5 或 19.2.8 的实例,暴露在一个已被利用的漏洞之下。升级到本文推荐的版本(19.5.1、19.4.3、19.3.6、19.2.9)同样可以修复 CVE-2026-97229。GitLab.com 已完成修补,自托管实例需要升级。10 月 21 日的同一版本还修复了两个高危漏洞(CVSS 8.2 和 7.5)以及其他漏洞,但这些修复仅在 19.3.6、19.4.3 和 19.5.1 分支中提供。该问题的根源在于 Ruby 的正则表达式引擎(Onigmo),Ruby 于 10 月 23 日发布了 4.0.9、3.4.12 和 3.3.13。从攻击者可控字符串编译正则表达式的应用会受影响,而 Regexp.timeout 无法防范这些漏洞。GitLab 的公告未说明 CVE-2026-110264 已被利用,截至 10 月 30 日它也不在 KEV 中。Alpine Linux 报告称,其自己的 GitLab 在 10 月 20 日和 21 日遭到通过 CVE-2026-97229 的攻击尝试,并且只升级 GitLab(到 19.3.6)没有堵住该漏洞,因为修复还需要打过补丁的 Ruby;它重建了该实例,并未发现攻击者代码被运行的证据。本站的结论:核对必须经过的升级节点后,今天就升级自托管 GitLab,最终升级到 19.3.6 或更高版本;如果您自行构建 GitLab 或运行自己的 Ruby,也请确认 Ruby 为 3.3.13、3.4.12 或 4.0.9 或更高版本。Ruby 应用应升级到已修复的 Ruby,并停止从用户输入构建正则表达式。