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 也指出,这种攻击要想成功,前提是攻击者已经攻破了一个有效的用户账户,以此来绕过身份验证。

相关推荐
安全系统学习2 小时前
网络安全之SQL RCE漏洞
安全·web安全·网络安全·渗透测试
DeepSeek-大模型系统教程2 小时前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
ai小鬼头5 小时前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
2501_915921435 小时前
iOS IPA 混淆实测分析:从逆向视角验证加固效果与防护流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_915918415 小时前
打造可观测的 iOS CICD 流程:调试、追踪与质量保障全记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
旷世奇才李先生7 小时前
Ruby 安装使用教程
开发语言·后端·ruby
2501_915909068 小时前
调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_9159214311 小时前
请求未达服务端?iOS端HTTPS链路异常的多工具抓包排查记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
不午睡的探索者13 小时前
告别性能瓶颈!Python 量化工程师,进击 C++ 高性能量化交易的“必修课”!
c++·github
光溯星河13 小时前
【实践手记】Git重写已提交代码历史信息
后端·github