GitLab 本周发布的 DevOps 平台新版本中修复了一个重大漏洞,该漏洞允许攻击者绕过身份验证检查并以任意用户身份登录受影响的系统。因此,使用自托管 GitLab 实例并配置了基于 SAML 的身份验证的组织应尽快更新至最新版本。
该漏洞(CVE-2024-45409)的严重性评分高达 10.0,在 CVSS 评分体系中属于最为严重的等级。这一评分不仅因为漏洞影响巨大,还因为攻击者可以无需特殊权限、无需复杂操作、无需用户交互即可轻易利用。
最大严重性威胁
CVE-2024-45409 影响了 GitLab 的完全托管云版本 GitLab Dedicated 以及自管理实例。GitLab 已更新所有 GitLab Dedicated 实例,并表示托管版本的用户已受到保护。但运行自管理 GitLab 安装的组织必须立即修补。“我们强烈建议所有受影响版本的安装尽快升级到最新版本。”GitLab 建议自管理 GitLab 安装的组织为所有用户账户启用双因素身份验证,以减轻 CVE-2024-45409 的威胁,但指出“启用身份提供者的多因素身份验证并不能缓解此漏洞”。GitLab 还建议组织不要在 GitLab 中启用 SAML 双因素绕过选项,并提供了详细的指导,帮助检测和应对与该漏洞相关的攻击活动。
CVE-2024-45409 存在于 GitLab 社区版(CE)和企业版(EE)以及 Ruby SAML 库(版本 12.2 及之前版本,以及 1.13.0 至 1.16.0 版本)中。Ruby SAML 是 GitLab SAML 身份验证功能的一部分,允许组织通过外部身份提供者验证用户身份。
受影响的 Ruby SAML 版本在验证 SAML 响应中的加密签名时存在问题,攻击者可以利用这一点伪造 SAML 响应,以任意用户身份登录受影响的系统。
对 DevOps 平台的特别威胁
研究人员认为,像 GitHub 这样的 DevOps 平台中的漏洞尤为棘手,因为它们为攻击者提供了多种方式来破坏应用程序开发环境。OX Security 的网络安全策略师 Katie Teitler-Santullo 表示:“绕过身份验证检查是一个巨大的威胁,因为它为攻击者提供了轻松进入开发环境并造成巨大破坏的机会,而且这一切都不会触发任何警报。”
Contrast Security 的创始人兼首席技术官 Jeff Williams 强调了解决身份验证绕过漏洞的重要性。“在这个案例中,可以伪造 SAML 断言以任何用户身份登录并执行用户能做的任何操作,包括篡改流水线、在软件产品中嵌入恶意代码、窃取知识产权、安装恶意软件或几乎任何你能想象到的恶意行为。”
GitHub 本月披露的其他漏洞
CVE-2024-45409 是 GitHub 本月披露的 18 个漏洞中最为严重的一个。另一个被评估为关键的漏洞(CVE-2024-6678)的 CVSS 严重性评分为 9.9,影响多个 GitLab CE 和 EE 版本,允许未经身份验证的远程攻击者在 GitLab 环境中以任何用户身份运行流水线。Williams 表示,这些漏洞与 GitLab 在 5 月、6 月和 7 月披露的漏洞相似,显示出其可能在安全方面未给予足够重视。“每月都有关键漏洞。也许他们在测试方面做得更好?那很好。或者也许他们不够主动。我们需要透明度。”