CVE-2026-34477CVE-2026-34477 是 Apache Log4j Core 中由于修复不完整导致的安全漏洞。此前针对 CVE-2025-68161 的修复仅涵盖了系统属性配置,却忽略了 XML 配置文件中 <Ssl> 元素的 verifyHostName 属性。在 2.12.0 至 2.25.3 版本中,该属性被静默忽略,导致即使用户启用了主机名验证,TLS 连接实际上并未执行检查。当应用使用 SMTP、Socket 或 Syslog Appender 并配置 TLS 时,满足特定条件的攻击者可利用此漏洞执行中间人攻击,拦截或篡改日志数据。
该漏洞的根本原因是 Apache Log4j Core 在处理 SSL/TLS 配置时的逻辑缺陷。虽然 verifyHostName 属性在 Log4j Core 2.12.0 中引入,旨在允许用户通过配置加强安全性,但代码实现存在遗漏。程序仅响应系统属性 log4j2.sslVerifyHostName,而未读取 <Ssl> 元素中的 verifyHostName 属性值。攻击者若处于网络中间位置(如 ARP 欺骗或恶意路由),并持有目标信任存储区中受信任 CA 签发的证书,即可利用此漏洞。由于主机名验证被跳过,客户端会接受攻击者的伪造证书,从而建立连接。这导致攻击者可以解密传输的日志数据(机密性影响)或向日志流中注入恶意数据(完整性影响)。HTTP Appender 因使用独立的验证逻辑而不受影响。