GitLab SAML身份验证绕过漏洞CVE-2024-45409预警
GitLab 是利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,在此基础上搭建的Web服务。
一、 基本情况
GitLab 官方日前发布补丁以解决影响社区版 (CE) 和企业版 (EE) 的关键漏洞,该漏洞可能会导致身份验证绕过。
该漏洞根源于Ruby SAML,由于极狐 GitLab 是基于 Ruby 的,因此受该漏洞影响,漏洞被标记为 CVE-2024-45409。
该身份验证绕过漏洞可能允许攻击者在易受攻击的系统内,以任意用户身份登录,维护者已于上周时解决这个问题。
GitLab 官方发布的最新补丁旨在将依赖项 OmniAuth-SAML更新到2.2.1版本、同时将Ruby SAML更新到1.17.0版本。
作为缓解措施,GitLab 建议自行管理安装用户为所有账户启用双因素身份验证(2FA)并禁止 SAML 双因素绕过选项。
尽管GitLab未提及在野外利用的漏洞,但提供了尝试或成功利用的可能,这表明黑客可能正在积极尝试利用该漏洞。
二、 漏洞描述
CVE-2024-45409 漏洞由Ruby SAML库引起,Ruby SAML库用于实现SAML授权客户端,该漏洞的CVSS评分为10.0。
资料显示,SAML(Security Assertion Markup Language,安全断言标记语言)是基于XML标准的可扩展标识语言。
因此来说,SAML 用于在不同的安全域之间交换认证和授权数据,它被广泛应用于单点登录(SSO)解决方案之中。
而根据官方资料来看,OmniAuth-SAML 和 Ruby-SAML 库在 GitLab 中,则主要被用于处理基于SAML的身份验证。
由于这些库/工具无法正确验证 SAML 响应的签名,导致存在 SAML 身份验证绕过漏洞(CVE-2024-45409)利用。
图片来源:GitLab
具有访问任何身份提供者(IdP)签署的 SAML文档的未经身份验证的攻击者能伪造包含任意内容 SAML 响应/断言,
就可以通过伪造响应来登录为任意用户,进而完全绕过系统的 SAML 身份验证,从而获得对 GitLab 实例访问权限。
Ruby-SAML 12.2 及以下的所有版本、1.13.0 到 1.16.0 之间版本都会受该漏洞影响,无法正确验证SAML响应签名。
官方已发布修复方案,建议受影响的用户可将依赖项OmniAuth-SAML更新至版本2.2.1,Ruby-SAML更新至1.17.0。
极狐 GitLab 技术团队在漏洞披露后极速响应,发布了极狐GitLab 安全版本17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10。
三、 影响范围
GitLab CE/EE 17.3.x < 17.3.3
GitLab CE/EE 17.2.x < 17.2.7
GitLab CE/EE 17.1.x < 17.1.8
GitLab CE/EE 17.0.x < 17.0.8
GitLab CE/EE 16.11.x < 16.11.10
OmniAuth-SAML和Ruby-SAML依赖项:
OmniAuth-SAML <= 2.1.0
Ruby-SAML <= 1.12.2
1.13.0 <= Ruby-SAML <= 1.16.0
四、 修复建议
目前该漏洞已经修复,受影响用户需升级到如下版本:
GitLab CE/EE 17.3.x >= 17.3.3
GitLab CE/EE 17.2.x >= 17.2.7
GitLab CE/EE 17.1.x >= 17.1.8
GitLab CE/EE 17.0.x >= 17.0.8
GitLab CE/EE 16.11.x >= 16.11.10
或将OmniAuth-SAML和Ruby-SAML依赖项升级到以下修复版本:
OmniAuth-SAML:升级到2.2.1、2.1.2、1.10.5或更高版本
Ruby-SAML:升级到1.17.0、1.12.3或更高版本
五、 参考链接
https://packages.gitlab.com/gitlab/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=2024-45409
https://about.gitlab.com/releases/2024/09/17/patch-release-gitlab-17-3-3-released/
https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-jw9c-mfg7-9rx2
https://github.com/omniauth/omniauth-saml/security/advisories/GHSA-cvp8-5r8g-fhvq