如果你的公司在自己的服务器上运行 GitLab,请今天就更新。2026 年 10 月 12 日,GitLab 发布了一个关键安全补丁,修复了 24 个漏洞。其中最严重的 CVE-2026-97229 获得了最高的严重性评分:10 分(满分 10 分)。它让一个在你的服务器上没有账户的人能够在服务器上运行自己的代码。所有运行 19.2.8 之前的 19.2、19.3.5 之前的 19.3 或 19.4.2 之前的 19.4 版本的服务器都受到影响。GitLab 给出的唯一修复方法是升级到 19.4.2、19.3.5 或 19.2.8。如果你使用的是 GitLab.com 云服务,则无需做任何事情。

GitLab 是什么,企业主为什么要关心?

GitLab 是你的技术团队存放系统和应用源代码的地方,也是新版本被构建并发布到你的服务器上的地方。许多公司在内部服务器上运行它,而不是使用云服务,以便将代码和数据保留在组织内部。这台服务器通常保存的内容比所有者预想的更多:完整的源代码、数据库密码、连接支付网关和政府服务的密钥,以及向客户所使用的服务器部署的权限。谁控制了它,谁就能读取所有这些内容,还能在你的代码到达客户之前对其进行修改。

GitLab 究竟宣布了什么?

根据 GitLab 官方补丁发布公告,该漏洞位于处理构建和部署流水线(CI/CD)设置中正则表达式的部分。正则表达式是一小段描述搜索模式的文本。公告称,由于对这些表达式的验证不足,该漏洞可能允许未经身份验证的用户通过特制的正则表达式在 GitLab 服务器上执行任意代码。一位研究人员通过 GitLab 在 HackerOne 上的漏洞赏金计划报告了该漏洞。

公告并未说明该漏洞已被利用。但 10 分的评分意味着它可以通过互联网被利用,无需密码,也无需任何员工的协助。攻击者通常会在修复公开后的几天内开始寻找此类漏洞,因为修复本身就指明了弱点所在。

补丁中还包括什么?

同一补丁还修复了另外 23 个漏洞,其中五个被评为高危:

  • 语法高亮中的恶意脚本注入(XSS),评分 8.7。
  • 创建流水线时的授权漏洞,评分 8.5。
  • 影响文件访问的过于宽松的正则表达式,评分 8.2。
  • 付费版中流水线执行策略的授权漏洞,评分 7.7。
  • 付费版中 GitLab Duo AI 代理的提示注入(prompt injection)漏洞,评分 7.3。

因此,早于 19.2 的版本虽然不受该严重漏洞影响,但并不一定安全。GitLab 官方维护政策规定,安全修复只会向后移植到当前版本和之前的两个月度版本。运行任何更旧版本的服务器已完全不再获得安全修复,无论如何都需要升级。

谁需要采取行动?

  • GitLab.com 云用户:无需任何操作;GitLab 表示该服务已在运行已修补的版本。
  • GitLab Dedicated 客户:根据公告,同样无需任何操作。
  • 在自己的服务器上运行 GitLab 的任何人:立即升级。这是 GitLab 对每个自托管安装的明确建议。
  • 不确定自己的 GitLab 运行在哪里的任何人:今天就询问你的团队或为你搭建系统的供应商。许多内部服务器是由以前的供应商搭建的,之后就被遗忘了。

本周的实际步骤

  1. 查明版本:请你的技术负责人打开 GitLab 中的帮助(Help)页面,读取其中显示的版本号,并与上述版本号进行比较。
  2. 今天就安排升级,而不是等到月底:根据 GitLab 的公告,单节点服务器在打补丁期间会停机,直到数据库迁移完成;而多节点部署如果遵循正确的零停机流程,则可以在不停机的情况下打补丁。在非工作时间停机一小时,代价远低于服务器被攻陷。
  3. 如果你使用的是 19.3:请直接升级到 19.3.5,而不是 19.3.4。公告指出,19.3.4 存在一个在启用 Ona 集成时影响合并请求(merge request)页面的缺陷,已在 19.3.5 中修复。
  4. 减少互联网暴露:如果公司外部没有人需要访问你的 GitLab 服务器,请将其设置为只接受来自公司网络或通过 VPN 的连接。这不能代替打补丁,但下次可以收窄入口。
  5. 打补丁后进行检查:检查最近创建的用户、密钥和访问令牌。如果出现任何无人认识的内容,请更换服务器上存储的密码和密钥。

每种安装方式的升级步骤都可以在 GitLab 官方升级指南中找到。

Origami 的观点

我们每天都在使用 GitLab,因为我们的代码仓库就存放在那里,所以我们关注它的安全公告就像关注自己的发票一样密切。这一教训不仅限于 GitLab:为了将数据保留在内部而自行运行的每一个系统,都伴随着在修复发布当天打补丁的责任。我们最常见到的问题并不是这个决定本身,而是没有明确由谁负责更新。一台三年前由供应商搭建、没有人知道由谁维护的服务器,正是攻击者首先寻找的目标。我们在谈到 Magento 商店漏洞时也说过同样的话:如果补丁来得太迟,光打补丁是不够的。如果你需要有人审查你的服务器或接手其更新工作,请与我们联系。

来源