CVE-2025-40934CVE-2025-40934是XML-Sig Perl模块中的一个高危安全漏洞,该模块用于验证XML文件的数字签名。漏洞影响XML-Sig 0.27至0.67版本,源于模块在处理缺少签名的XML文件时存在验证逻辑缺陷。在正常安全模型下,未签名的XML文件应当返回错误或拒绝验证,但受影响的版本会错误地返回true(验证通过)。攻击者可以利用此漏洞通过移除XML文档中的签名来绕过签名验证机制,从而可能伪造或篡改XML文档内容而不会被检测到。该漏洞CVSS评分为9.3,属于严重级别,对依赖XML签名进行身份验证或数据完整性校验的系统构成重大安全风险。
XML-Sig是Perl语言中用于XML签名验证的重要模块,广泛应用于SAML等基于XML的安全协议中。漏洞的根本原因在于XML-Sig模块的verify()方法在处理XML文档时,未能正确验证签名字段的存在性。当攻击者构造一个不含Signature元素的XML文档并提交验证时,模块的执行逻辑存在缺陷,导致验证流程异常结束并返回成功状态。正常的安全验证流程应当明确检查Signature元素是否存在,若不存在则应抛出异常或返回false。但受影响的版本在缺少签名的情况下,验证检查被绕过,直接返回验证通过。攻击者可通过以下方式利用此漏洞:1)获取目标系统的XML签名验证请求;2)移除原始XML文档中的<Signature>元素及相关引用;3)提交无签名的文档,由于验证逻辑缺陷,系统将错误地认为文档已通过签名验证。此漏洞允许攻击者伪造SAML断言、篡改XML配置或冒充合法用户身份。