CVE-2026-34477 Apache Log4j Core: `verifyHostName` attribute silently ignored in TLS configuration
Attackers can perform man-in-the-middle attacks on Log4j TLS connections if the verifyHostName attribute is configured but ignored, bypassing hostname verification.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-34477?
CVE-2026-34477 is a medium-severity vulnerability in Apache Log4j Core, published on 10 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-34477?
4 open source packages ship an affected version, including org.apache.logging.log4j:log4j-core. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.apache.logging.log4j:log4j-core Maven | From 2.12.0 | 2.25.4 |
org.apache.logging.log4j:log4j-core Maven | From 2.12.0 | 2.25.4 |
org.apache.logging.log4j:log4j-core Maven | From 3.0.0-alpha1 to 3.0.0-beta3 | None |
org.apache.logging.log4j:log4j-core Maven | From 3.0.0-alpha1 to 3.0.0-beta3 | None |
Products include Apache Log4j.
How do I fix CVE-2026-34477?
Upgrade org.apache.logging.log4j:log4j-core to 2.25.4 or later.
Is CVE-2026-34477 being exploited?
There is no known exploitation of CVE-2026-34477 in the wild and no public exploit code.
Other vulnerabilities in Apache Log4j Core
- CVE-2021-44228 Apache Log4j2 Remote Code Execution
- CVE-2021-45046 Apache Log4j2 Deserialization of Untrusted Data
- CVE-2022-23305 SQL injection in JDBC Appender in Apache Log4j V1
- CVE-2017-5645 Deserialization of Untrusted Data in Log4j
- CVE-2022-23302 Deserialization of untrusted data in JMSSink in Apache Log4j 1.x
Sources
Also known as CLEANSTART-2026-IQ12503, CLEANSTART-2026-KO79876, CLEANSTART-2026-QJ40083, CLEANSTART-2026-VD23579, CLEANSTART-2026-YX55507, CLSA-2026-1779929356 and 96 more.