CVE-2026-22747Spring Security 的 SubjectX500PrincipalExtractor 组件在处理 X.509 证书时存在安全缺陷。该组件未能正确解析特定格式的 malformed CN 值,导致系统获取错误的用户名。攻击者利用此漏洞,通过构造恶意证书,可冒充系统中的其他用户,从而绕过身份验证,获取未授权的访问权限。
该漏洞源于 Spring Security 中用于提取 X.509 证书主体信息的 `SubjectX500PrincipalExtractor` 类。当应用程序配置为使用客户端证书认证时,该类负责从证书的 Subject DN 中提取 Common Name (CN) 作为用户名。然而,其内部解析逻辑存在缺陷,未能正确处理包含特定编码、转义字符或特殊格式的畸形 CN 值。攻击者可以构造一个包含特殊格式 CN 字段的恶意 X.509 证书。当服务器验证并处理该证书时,`SubjectX500PrincipalExtractor` 可能会因为解析算法的边界条件问题,错误地提取出目标管理员的用户名,而非攻击者证书中实际声称的身份。这种解析错误使得攻击者能够绕过基于用户名的身份检查,以其他用户的身份登录系统,造成严重的权限提升和数据泄露风险。