|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GitLab是一个用于仓库管理系统的开源项目,其使用Git作为代码管理工具,可以通过Web界面访问公开或私人项目。SAML(Security Assertion Markup Language,安全断言标记语言)是一种基于XML的标准,用于在不同的安全域之间交换认证和授权数据,它被广泛应用于单点登录(SSO)解决方案。
2024年9月19日,启明星辰集团VSRC监测到GitLab中修复了一个SAML身份验证绕过漏洞(CVE-2024-45409),该漏洞的CVSS评分为10.0。
OmniAuth-SAML和Ruby-SAML库在GitLab中用于处理基于SAML的身份验证,由于这些库/工具无法正确验证SAML响应的签名,导致存在SAML身份验证绕过漏洞,威胁者可以制作恶意 SAML 响应从而绕过SAML身份验证并获得对GitLab实例的访问权限。
二、影响范围
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
三、安全措施
3.1 升级版本
目前该漏洞已经修复,受影响用户可升级到以下版本:
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://about.gitlab.com/
3.2 临时措施
针对自行管理的 GitLab 安装,可采取以下措施缓解漏洞利用:
1.为GitLab 自管理实例上的所有用户帐户启用 GitLab双因素身份验证。注意,启用身份提供者(IdP)多因素身份验证不能缓解该漏洞。
2.不允许GitLab中的SAML双因素绕过选项。
此外,可通过在GitLab application_json和auth_json日志文件中查看和检测是否存在该漏洞的利用尝试,详情可参考:
https://about.gitlab.com/releases/2024/09/17/patch-release-gitlab-17-3-3-released/
3.3 通用建议
定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
使用企业级安全产品,提升企业的网络安全性能。
加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
启用强密码策略并设置为定期修改。
3.4 参考链接
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
原文始发于微信公众号(启明星辰安全简讯):【漏洞通告】GitLab SAML身份验证绕过漏洞(CVE-2024-45409)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论