Description
The fix for CVE-2025-68161 https://logging.apache.org/security.html#CVE-2025-68161 was incomplete: it addressed hostname verification only when enabled via the log4j2.sslVerifyHostName https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.sslVerifyHostName system property, but not when configured through the verifyHostName https://logging.apache.org/log4j/2.x/manual/appenders/network.html#SslConfiguration-attr-verifyHostName attribute of the <Ssl> element. Although the verifyHostName configuration attribute was introduced in Log4j Core 2.12.0, it was silently ignored in all versions through 2.25.3, leaving TLS connections vulnerable to interception regardless of the configured value. A network-based attacker may be able to perform a man-in-the-middle attack when all of the following conditions are met: * An SMTP, Socket, or Syslog appender is in use. * TLS is configured via a nested <Ssl> element. * The attacker can present a certificate issued by a CA trusted by the appender's configured trust store, or by the default Java trust store if none is configured. This issue does not affect users of the HTTP appender, which uses a separate verifyHostname https://logging.apache.org/log4j/2.x/manual/appenders/network.html#HttpAppender-attr-verifyHostName attribute that was not subject to this bug and verifies host names by default. Users are advised to upgrade to Apache Log4j Core 2.25.4, which corrects this issue.
Problem types
CWE-297 Improper Validation of Certificate with Host Mismatch
Product status
2.12.0 (maven) before 2.25.4
3.0.0-alpha1 (maven)
Timeline
| 2025-12-20: | Vulnerability reported by Samuli Leinonen |
| 2025-12-30: | Candidate patch shared internally by Piotr P. Karwasz |
| 2026-02-25: | Independent report received from Naresh Kandula |
| 2026-03-01: | Independent report received from Vitaly Simonovich |
| 2026-03-02: | Independent report received from Raijuna |
| 2026-03-08: | Independent report received from Danish Siddiqui |
| 2026-03-19: | Independent report received from Markus Magnuson |
| 2026-03-21: | Independent report received from Haruki Oyama |
| 2026-03-24: | Fix shared publicly by Piotr P. Karwasz as pull request #4075 |
| 2026-03-28: | Log4j 2.25.4 released |
Credits
Samuli Leinonen (original reporter)
Naresh Kandula (independently)
Vitaly Simonovich (independently)
Raijuna (independently)
Danish Siddiqui (djvirus, independently)
Markus Magnuson (independently)
Haruki Oyama (Waseda University, independently)
References
github.com/apache/logging-log4j2/pull/4075
logging.apache.org/security.html
logging.apache.org/cyclonedx/vdr.xml
logging.apache.org/log4j/2.x/manual/appenders/network.html
lists.apache.org/thread/lkx8cl46t2bvkcwfcb2pd43ygc097lq4