GitHub 发现 ruby-saml 严重漏洞,账户安全岌岌可危

开源的 ruby - saml 库中,近日披露了两个极为严重的安全漏洞。这两个漏洞等级颇高,可能会让恶意攻击者有机可乘,绕过安全断言标记语言(SAML)的身份验证保护机制。

SAML 是一种基于 XML 的标记语言,同时也是一项开放标准,主要用于在不同各方之间交换身份验证以及授权数据。它支持单点登录(SSO)等实用功能,这使得用户能够凭借一组凭据,便捷地访问多个站点、服务以及应用程序。

这两个漏洞被分别标记为 CVE - 2025 - 25291 和 CVE - 2025 - 25292,在通用漏洞评分系统(CVSS)中,得分高达 8.8 分(满分 10 分)。受影响的库版本如下:

< 1.12.4

>= 1.13.0、< 1.18.0

这两个漏洞产生的根源,是 REXML 和 Nokogiri 这两种工具在解析 XML 时,方式存在差异。这种差异会导致两个解析器针对相同的 XML 输入,生成截然不同的文档结构。

而这种解析器的差异,给攻击者创造了可乘之机,他们能够借此执行签名包装攻击,最终导致身份验证被绕过。目前,ruby - saml 版本 1.12.4 和 1.18.0 已经对这些漏洞进行了修复。

微软旗下的 GitHub 在 2024 年 11 月发现并报告了这些漏洞。GitHub 方面表示,恶意攻击者极有可能利用这些漏洞,实施账户接管攻击。

GitHub 安全实验室研究员 Peter Stöckli 在一篇博文中指出:"攻击者只要拥有一个有效的签名,就能够利用目标组织用于验证 SAML 响应或断言的密钥,构建出 SAML 断言,进而得以以任意用户身份登录。"

他们还特别强调,该问题的关键在于哈希验证和签名验证之间出现了 "脱节",正是这种脱节,为攻击者利用解析器差异实施攻击,打开了方便之门。

此外,在版本 1.12.4 和 1.18.0 中,在处理压缩的 SAML 响应时,还意外引入了一个远程拒绝服务(DoS)缺陷(CVE - 2025 - 25293,CVSS 评分:7.7)。所以,建议用户尽快更新到最新版本,以此防范潜在的安全威胁。

值得一提的是,此次发现距 GitLab 和 ruby - saml 着手解决另一个同样可能导致身份验证绕过的关键漏洞(CVE - 2024 - 45409,CVSS 评分:10.0),仅仅过去了将近六个月的时间。

GitLab 发布更新

极狐 GitLab 已经发布了更新,用于修复社区版(CE)和企业版(EE)中的 CVE -2025-25291 和 CVE-2025-25292 漏洞,对应的版本为 17.9.2、17.8.5 和 17.7.7 。

GitLab 方面表示:"在使用 SAML 身份验证的 GitLab CE/EE 实例中,在某些特定情况下,若攻击者能够获取来自身份提供商(IdP)的有效签名 SAML 文档,就有可能以环境中 SAML IdP 的其他有效用户身份进行验证。"

不过,GitLab 也指出,这种攻击要想成功,前提是攻击者已经攻破了一个有效的用户账户,以此来绕过身份验证。

相关推荐
RLG_星辰32 分钟前
第六章-哥斯拉4.0流量分析与CVE-2017-12615的复现
笔记·安全·网络安全·tomcat·应急响应·玄机
独行soc4 小时前
2025年渗透测试面试题总结-某服面试经验分享(附回答)(题目+回答)
linux·运维·服务器·网络安全·面试·职场和发展·渗透测试
2501_916013746 小时前
从一次被抄袭经历谈起:iOS App 安全保护实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
极小狐6 小时前
如何使用极狐GitLab 软件包仓库功能托管 ruby?
开发语言·数据库·人工智能·git·机器学习·gitlab·ruby
请再坚持一下7 小时前
网络安全护网行动之个人见解
安全·web安全·网络安全
00后程序员张10 小时前
做 iOS 调试时,我尝试了 5 款抓包工具
websocket·网络协议·tcp/ip·http·网络安全·https·udp
芯盾时代11 小时前
RSAC 2025观察:零信任+AI=网络安全新范式
人工智能·安全·web安全·网络安全
2501_9151063213 小时前
开发者如何优雅应对HTTPS抓包难题
websocket·网络协议·tcp/ip·http·网络安全·https·udp
白山云北诗15 小时前
什么是 DDoS 攻击?从零到精通的全面解析
网络安全·ddos·ddos攻击如何防护·什么是ddos攻击·ddos攻击方式有哪些
刃神太酷啦19 小时前
C++入门(下)--《Hello C++ World!》(2)(C/C++)
java·c语言·c++·git·算法·github