GitLab 发布针对严重 SAML 身份验证绕过漏洞的修复程序

GitLab 发布了安全更新,以解决影响 GitLab 社区版 (CE) 和企业版 (EE) 的自主管理安装的严重 SAML 身份验证绕过漏洞。

安全断言标记语言 (SAML) 是一种单点登录 (SSO) 身份验证协议,允许用户使用相同的凭据登录不同的服务。

该漏洞编号为 CVE-2024-45409,源自 OmniAuth-SAML 和 Ruby-SAML 库中的一个问题,GitLab 使用这两个库来处理基于 SAML 的身份验证。

当身份提供者 (IdP) 向 GitLab 发送的 SAML 响应包含错误配置或被操纵时,就会出现此漏洞。

具体来说,该缺陷涉及对 SAML 断言中关键元素的验证不足,例如用于在不同系统间唯一标识用户的 extern_uid(外部用户 ID)。

攻击者可以制作恶意 SAML 响应,诱骗 GitLab 将其识别为经过身份验证的用户,绕过 SAML 身份验证并获得对 GitLab 实例的访问权限。

CVE-2024-45409 漏洞影响 GitLab 17.3.3、17.2.7、17.1.8、17.0.8、16.11.10 以及这些分支的所有先前版本。

该漏洞已在 GitLab 版本 17.3.3、17.2.7、17.1.8、17.0.8 和 16.11.10 中得到解决,其中 OmniAuth SAML 已升级到版本 2.2.1,Ruby-SAML 已升级到版本 1.17.0。

GitLab 在公告中警告称:“强烈建议所有运行受上述问题影响的安装尽快升级到最新版本。”

GitLab.com 上的 GitLab Dedicated 实例用户无需采取任何行动,因为该问题仅影响自管理安装。

对于那些无法立即升级到安全版本的用户,GitLab 建议为所有帐户启用双因素身份验证 (2FA),并将 SAML 2FA 绕过选项设置为“不允许”。

恶意利用迹象

GitLab 在公告中提供了尝试或成功利用的迹象,这表明恶意攻击者可能已经在利用该漏洞进行攻击。

尝试或成功利用漏洞的迹象如下:

  1. 与 RubySaml::ValidationError 相关的错误(尝试失败)。
  2. 身份验证日志中出现新的或不寻常的     extern_uid 值(成功尝试)。
  3. SAML 响应中缺少信息或信息不正确。
  4. 单个用户的多个 extern_uid  值(表示潜在的帐户泄露)。
  5. 与用户通常的访问模式相比,来自陌生或可疑 IP 地址的 SAML 身份验证。
微信图片_20240919101004

成功利用的示例日志


转自军哥网络安全读报

© 版权声明
THE END
你的支持是我们在网空安全路上的驱动力!
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容