CVE-2026-41669Admidio 5.0.9之前版本存在SAML签名验证绕过漏洞。由于SAML实现中忽略了validateSignature()方法的返回值,导致smc_require_auth_signed配置无效。攻击者可利用此漏洞发送未签名或无效签名的SAML请求,绕过安全检查,对系统完整性造成严重影响。
该漏洞的核心在于Admidio SAML Identity Provider实现中对validateSignature()方法返回值的处理不当。在handleSSORequest()(第418行)和handleSLORequest()(第613行)两个关键函数中,程序调用了validateSignature()但完全丢弃了其返回值。该方法的设计逻辑是在验证失败时返回错误字符串,但开发者误以为会抛出异常,因此缺少了必要的错误处理分支。这种逻辑缺陷使得强制要求签名验证的配置项smc_require_auth_signed形同虚设。攻击者无需拥有有效的私钥,即可向服务器发送未签名或签名无效的SAML AuthnRequest和LogoutRequest,服务器将正常处理这些恶意请求,导致身份验证机制失效。