漏洞概述 | |||
漏洞名称 | ruby-saml 身份认证绕过漏洞 | ||
漏洞编号 | CVE-2025-25291、CVE-2025-25292 | ||
公开时间 | 2025-03-12 | 影响量级 | 十万级 |
奇安信评级 | 高危 | CVSS 3.1分数 | 9.1 |
威胁类型 | 身份认证绕过 | 利用可能性 | 高 |
POC状态 | 未公开 | 在野利用状态 | 未发现 |
EXP状态 | 未公开 | 技术细节状态 | 未公开 |
危害描述:ruby-saml 使用了两种 XML 解析器 ReXML 和 Nokogiri,由于解析 XML 的方式不同导致签名验证错误从而产生身份验证绕过。 |
01 漏洞详情
影响组件
ruby-saml 是 GitLab 用于实现 SAML 单点登录功能的 Ruby 工具包,通过 OmniAuth-SAML 进行集成,帮助用户实现便捷的身份验证和访问控制。
漏洞描述
近日,奇安信CERT监测到官方修复ruby-saml 身份认证绕过漏洞(CVE-2025-25291、CVE-2025-25292),ruby-saml 使用了两种 XML 解析器 ReXML 和 Nokogiri,由于解析 XML 的方式不同导致签名验证错误从而产生身份验证绕过。在 GitLab 中存在此漏洞实例。鉴于此漏洞影响范围较大,建议客户尽快做好自查及防护。
02 影响范围
影响版本
ruby-saml <= 1.12.3
1.13.0 <= ruby-saml < 1.18.0
omniauth-saml <= 2.2.2
omniauth-saml <= 1.10.5
其他受影响产品
GitLab CE/EE < 17.7.7
GitLab CE/EE 17.8.* < 17.8.5
GitLab CE/EE 17.9.* < 17.9.2
03 处置建议
安全更新
目前官方已发布安全更新,建议用户尽快升级至最新版本:
ruby-saml >= 1.12.4
ruby-saml >= 1.18.0
omniauth-saml >= 1.10.6
omniauth-saml >= 2.2.3
官方补丁下载地址:
https://github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.12.4
https://github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.18.0
由于 GitLab 中存在此漏洞实例,建议将 GitLab CE/EE 升级到安全版本:
GitLab CE/EE >= 17.7.7
GitLab CE/EE 17.8.* >= 17.8.5
GitLab CE/EE 17.9.* >= 17.9.2
官方补丁下载地址:
https://about.gitlab.com/update
缓解措施:
1.启用 GitLab 的双因素身份认证(2FA),并确保所有用户启用该功能;
2.禁用 SAML 的双因素身份认证绕过选项;
3.配置 gitlab_rails["omniauth_block_auto_created_users"] = true,要求管理员审批自动创建的用户。
04 参考资料
[1]https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released/
[2]https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-4vc4-m8qh-g8jm
[3]https://github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentials
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。