漏洞概述

漏洞名称

ruby-saml 身份认证绕过漏洞

漏洞编号

CVE-2025-25291、CVE-2025-25292

公开时间

2025-03-12

影响量级

十万级

奇安信评级

高危

CVSS 3.1分数

9.1

威胁类型

身份认证绕过

利用可能性

POC状态

未公开

在野利用状态

未发现

EXP状态

未公开

技术细节状态

未公开

危害描述:ruby-saml 使用了两种 XML 解析器 ReXML 和 Nokogiri,由于解析 XML 的方式不同导致签名验证错误从而产生身份验证绕过。

0漏洞详情

影响组件

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。