首页 > 教程资讯 > 教程详情

Alpine Linux 的 GitLab 遭 CVE-2026-97229 攻击后从头重建,漏洞根源在 Ruby 正则引擎

软件与互联网 数码评测汪工 2026-10-29
文章分享

据 Alpine Linux 10 月 28 日发布的公告,攻击者于 10 月 20 日和 21 日尝试利用 GitLab 漏洞 CVE-2026-97229 攻击其 GitLab 实例。Alpine 称未发现攻击成功的证据,但无法排除,因此将实例视为已被入侵并从头重建,10 月 28 日重建完成。该漏洞的 CVSS 评分为 10.0,根源在 Ruby 内置的 Onigmo 正则引擎,自带 Ruby 运行 GitLab 的用户,仅升级 GitLab 并不够。

漏洞:补丁打在 Ruby 上

公告介绍,CVE-2026-97229 的 CVSS 评分为 10.0,问题出在 Ruby 内置的 Onigmo 正则引擎上。GitLab 于 10 月 12 日发布修复,方式是给其自带的 Ruby 打补丁。上游 Ruby 则在 10 月 23 日于 3.3.13、3.4.12 和 4.0.9 中发布修复。

攻击经过

Alpine 称,一个新注册的账户向其 GitLab 发送特制的 CI 配置,使工作进程崩溃 8 次,其中 4 次攻击者在利用链中途于下一步失败。当时实例运行的是 19.3.4,没有 10 月 12 日的修复。

按公告的时间线,Alpine 在 10 月 13 日误升级到了 19.3.4,而不是含修复的 19.3.5。10 月 22 日升级到 19.3.6 后,实例仍然有漏洞:修复不在 GitLab 自身代码里,而是 Ruby 补丁,GitLab 只在官方包中应用它,Alpine 的镜像使用标准 Ruby,没有拿到这份补丁。

攻击者在 10 月 25 日至 26 日再次尝试重新进入,均告失败。10 月 26 日,Alpine 发现实例升级后仍然存在漏洞;10 月 27 日,GitLab 对开发者和构建机之外的人关闭,重建开始。

影响评估

Alpine 表示,10 月 21 日发布的 3.21.9、3.22.7、3.23.7、3.24.3,以及 10 月 20 日至 24 日构建的所有软件包,经与 GitLab 之外的记录(一名开发者的克隆和全部 45 个构建机)核对,未被篡改。用于签名软件包和发行版的密钥从未存放在 GitLab 服务器上。

重建完成时,所有密码已重置,GitLab 的密钥已更换。Alpine 还称,曾发现有人使用从其他网站泄露的密码,对其 GitLab 进行自动登录尝试,并提醒用户:若在别处使用了相同密码,应及时修改。

给用户的提示

  • 自带 Ruby 的 GitLab 部署:从源码或自建镜像运行 GitLab 的用户,还需要 Ruby 3.3.13、3.4.12、4.0.9 或更高版本。
  • alpinelinux/gitlab 镜像:10 月 27 日发布的 alpinelinux/gitlab:19.3.6 含 Ruby 3.3.13;此前拉取的 19.3.6 镜像及所有旧标签均有漏洞。
  • Alpine 系统自带的 Ruby:Alpine 3.22、3.23、3.24 和 edge 的 Ruby 为 3.4.12,Alpine 3.21 的 Ruby 为 3.3.13,均含修复,运行 apk upgrade 即可获取。

相关下载

来源