CVE-2025-66567CVE-2025-66567是ruby-saml库中的一个严重认证绕过漏洞,该库用于实现SAML授权的客户端功能。漏洞源于对CVE-2025-25292的不完整修复,影响版本包括1.12.4及之前的所有版本。由于ReXML和Nokogiri两个XML解析器对同一输入会生成完全不同的文档结构,攻击者可利用这一差异执行Signature Wrapping(签名包装)攻击,从而绕过SAML响应签名验证,实现未授权访问。该漏洞CVSS评分高达9.1,属于严重级别,无需任何认证即可远程利用。攻击成功后可完全绕过身份验证机制,窃取用户会话或冒充合法用户访问受保护资源。此漏洞已在版本1.18.0中修复。
Signature Wrapping攻击是一种针对XML签名验证机制的绕过技术。在ruby-saml库中,由于ReXML和Nokogiri解析器的实现差异,它们对相同XML输入会生成完全不同的文档对象模型(DOM)结构。攻击者可以构造特殊的XML文档,利用两个解析器解析结果的差异,在通过Nokogiri验证签名后,使用ReXML解析时使文档结构发生改变,从而绕过签名完整性检查。具体来说,攻击者在SAML响应中插入额外的XML元素(如重复的Assertion或Subject元素),使得签名验证时检查的元素与实际执行逻辑中使用的元素不同。这种攻击允许攻击者在不拥有有效签名私钥的情况下,修改SAML响应内容而绕过签名验证,最终实现身份冒充或会话劫持。漏洞的根本原因是CVE-2025-25292的修复不完整,未能彻底消除不同XML解析器之间的行为差异。