漏洞预警 | Ruby-Saml/GitLab存在身份认证绕过漏洞(CVE-2025-25291、CVE-2025-25292)
导语:漏洞预警 | Ruby-Saml/GitLab存在身份认证绕过漏洞(CVE-2025-25291、CVE-2025-25292)
1、漏洞概述
近日,SAML-Toolkits 发布ruby-saml修复了严重身份认证绕过漏洞(CVE-2025-25291、CVE-2025-25292)。已知受影响的产品有GitLab,其社区版 (CE) 和企业版 (EE) 推出了新的 17.9.2、17.8.5 和 17.7.7 版本,以修补一系列安全漏洞。为避免您的业务受影响,建议您及时开展安全风险自查。
ruby-saml 是一个 Ruby 语言开发的库,用于支持 SAML(安全断言标记语言) 身份验证,使应用程序能够与身份提供者(Identity Provider)进行安全通信。该库广泛应用于 Web 应用程序中,以实现单点登录(SSO)功能。其核心功能包括解析 SAML 断言(SAML assertions)和验证数字签名,以确保身份验证流程的安全性。
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理。
然而,ruby-saml库和使用该库的GitLab产品存在可导致身份验证绕过(Authentication Bypass)的漏洞(CVE-2025-25291、CVE-2025-25292),可能严重威胁依赖该库的应用程序的安全。
据描述,这些漏洞的根本原因在于 ReXML 和 Nokogiri 解析 XML 的方式,这可能导致同一 XML 输入的文档结构不同。这种差异使签名包装攻击成为可能,从而可能导致身份验证绕过。
漏洞影响的产品和版本:
Ruby-saml< 1.12.4
Ruby-saml >= 1.13.0, < 1.18.0
GitLab 17.9.2 之前的 17.9 版本、17.8.5 之前的 17.8 版本,以及 17.7.7 之前的 17.7 版本。
2、资产测绘
据daydaymap数据显示互联网存在2,583,285个资产,国内风险资产分布情况如下:
3、解决方案
1、临时缓解措施
①在 SAML SSO 身份验证的基础上,增加额外的身份验证步骤,如二次验证、短信验证码等,提高账户安全性;
②禁用 SAML 双重认证绕过:在 GitLab 设置中禁用 SAML 双重认证绕过选项。
2、升级修复
①Gitlab立即升级:所有受影响的 GitLab 实例应尽快升级到最新的安全版本(17.9.2、17.8.5 或 17.7.7);
②ruby-saml库升级到安全版本:1.12.4或1.18.0。
4、参考链接
https://github.com/advisories/GHSA-4vc4-m8qh-g8jm
https://securityonline.info/gitlab-urgently-patches-critical-authentication-bypass-flaws-cve-2025-25291-cve-2025-25292/
发表评论