GitLab CVSS 10.0 漏洞与 Cisco 防火墙 DoS 进 KEV:影响、修复与自查

一句话先说清:两个漏洞同一天进 KEV,性质完全不同

美国 CISA 在 2026 年 10 月 29 日(美国时间)把两个漏洞收进 KEV(已知被利用漏洞目录):GitLab 的 CVE-2026-97229,CVSS 满分 10.0,未授权远程代码执行;Cisco 防火墙的 CVE-2026-76418,CVSS 8.6,只能造成拒绝服务,不涉及代码执行与数据窃取。本文只讲防御:影响范围、修复版本与自查步骤,不涉及任何利用细节。

GitLab CVE-2026-97229:CI 配置里的正则表达式出了问题

这个漏洞的根源在 GitLab 处理 CI/CD 配置文件中的正则表达式时存在整数溢出,底层涉及 Ruby 内置的正则引擎。在特定条件下,未经身份验证的攻击者有可能借此在 GitLab 服务器上执行任意代码。受影响的是 GitLab 社区版与企业版。

安全公司 Rapid7 已在 10 月 13 日公布了概念验证代码。其验证过的路径需要攻击者先把恶意 CI 文件提交到公开项目,因此在“任何人都能注册建项目”的服务器上最容易得手。这也是临时缓解措施的由来:限制匿名访问公开项目、阻止不受信任用户创建或写入公开项目,或屏蔽 CI 校验接口——但这些只覆盖已知的验证路径,不能替代升级。

修复版本:不要停在第一批修复版

GitLab 在 10 月 12 日发布了第一批修复版本:19.4.2、19.3.5、19.2.8。但 10 月 21 日的版本还修复了另一个 CVSS 10.0 漏洞 CVE-2026-110264,第一批修复版并不覆盖它。所以管理员应当直接升到 19.4.3、19.3.6、19.2.9 或更新分支,而不是停在第一批修复版。仍在 19.3.4 的服务器同时受两个漏洞影响。

Alpine 的教训:升级 GitLab 不一定等于修好

Alpine Linux 在 10 月 28 日披露了针对其 GitLab 实例的攻击:攻击者在 10 月 20 日至 21 日发送特制 CI 配置,导致工作进程崩溃 8 次,其中 4 次在下一步之前失败。Alpine 没有找到代码实际执行的证据,但也无法排除——一次成功的利用可能既不崩溃也不留日志,部分日志还已不存在。因此 Alpine 按“已被入侵”处理:10 月 27 日关闭服务器并重建,28 日完成,同时重置全部用户密码、更换密钥。经检查,软件仓库、软件包与 10 月 21 日的发行版没有被篡改。

这次事件里有两个值得所有管理员记住的坑:第一,Alpine 最初误升到了 19.3.4,那个版本根本没修这个漏洞;第二,即使后来升到 19.3.6,服务器仍然 vulnerable——因为 GitLab 的修复是打在它自带软件包与官方镜像里捆绑的 Ruby 上,而 Alpine 的镜像是另外单独安装标准 Ruby 的,升 GitLab 并没有动到真正有问题的组件。Alpine 在 10 月 26 日才发现这一点。

所以自查时要按安装方式区分:用 GitLab 官方软件包或官方镜像的,升到分支最新版即可;自行编译、或镜像里自带 Ruby 的,还必须把 Ruby 升到 3.3.13、3.4.12、4.0.9 或更新版本。Ruby 3.2 已停止维护,不会有修复。用 Alpine 官方镜像的用户应当重新拉取 19.3.6,只有 10 月 27 日之后发布的镜像才包含修复后的 Ruby。

Cisco CVE-2026-76418:防火墙 DoS,不涉及代码执行

Cisco Secure Firewall ASA 与 FTD 软件中存在未检查返回值导致的空指针解引用问题,未经身份验证的远程攻击者可以迫使设备意外重启,造成拒绝服务。按目前公开的信息,这只是 DoS,没有代码执行或数据访问的说法。Cisco 表示本月早些时候就已得知存在在野利用,但没有公开攻击者身份与受影响范围。触发需要同时满足:设备跑在受影响版本上、SSL 远程访问 VPN 登录服务可达、且相关隧道组配置了二次认证;不需要一次成功的 VPN 登录就能走到受影响的处理路径。

Cisco 修复版本(公告 2026 年 10 月 28 日发布)

Cisco 公告 cisco-sa-asaftd-tunnel-dos-s6mgkb75 给出的首个修复版本如下,升级前请按自己所在分支对照官方公告确认:ASA:9.16 及更早 → 9.16.4.104,9.18 → 9.18.4.96,9.20 → 9.20.4.50,9.22 → 9.22.3.200,9.23 → 9.23.1.48,9.24 → 9.24.1.27 或 9.24.10.1;FTD:7.0 及更早 → 7.0.11,7.2 → 7.2.13,7.4 → 7.4.9,7.6 → 7.6.7,7.7 → 7.7.14,10.0 → 10.0.3,10.1 → 10.1.1。Cisco 未给出完整绕过办法,临时缓解是按隧道组配置关掉隧道组列表或二次认证——但关二次认证会降低认证强度,须先评估影响,不能当作修复。

自查清单

  • 管 GitLab 的:先确认安装方式,再对照上表升到 19.4.3、19.3.6、19.2.9 或更新分支;自带 Ruby 的安装务必同步升级 Ruby;升不了的先按上文限制公开项目与不受信任用户,并留意 GitLab 发布的检测规则;一旦发现代码执行迹象,按“已被入侵”处理并轮换密钥与令牌。
  • 管 Cisco ASA/FTD 的:先确认是否满足触发条件(SSL 远程访问 VPN 可达且隧道组用了二次认证),再按上表升到所在分支的首个修复版本;留意异常重启记录;临时关二次认证只是缓解且会降低认证强度,不能替代升级。
  • 托管用户注意:托管建站与云平台一般由平台统一修复,到平台公告里确认状态即可。

最后澄清一个常见误读:KEV 里 2026 年 11 月 1 日的期限只针对美国联邦机构,不是所有用户的统一期限;但“已被实际利用”这个定性本身,就是立即升级的理由。