CVE-2026-34477
Medium · 5.9CVSS
5.9
EPSS
0.5%
Published
Apr 10, 2026
CISA due date
—
Cloudanix analysis
Some applications may send supposedly protected log data in a way that lets a network attacker impersonate the logging server and read or alter those logs.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Apache Log4j Core versions through 2.25.3 can fail to enforce TLS hostname verification for SMTP, Socket, and Syslog appenders when TLS is configured with a nested <Ssl> element using the verifyHostName attribute. The certificate chain may still be trusted, but the remote endpoint hostname is not properly matched against the certificate identity, allowing a suitably positioned network attacker with a certificate trusted by the appender trust store, or the default Java trust store, to intercept the encrypted logging connection. This can expose log contents and may allow manipulation or redirection of log traffic. This is not a remote code execution flaw and does not affect the HTTP appender’s separate hostname verification behavior.
Why it matters to the business
Organizations using affected Log4j configurations may believe logging traffic is protected by TLS while it remains susceptible to interception on the network. If logs contain sensitive operational data, credentials, session identifiers, personal data, or security telemetry, attackers could capture or tamper with that information in transit. The risk is configuration-dependent and requires network positioning plus a trusted certificate, so broad exploitation likelihood is lower; EPSS is low and stable at 0.0041 over 30 days, the issue is not in CISA KEV, and no public exploit maturity is reported. However, because Log4j is widely deployed across Java applications, organizations should prioritize inventorying exposed configurations and upgrading where affected appenders are used.
How an attack unfolds
An attacker first needs a position where they can intercept or redirect network traffic between an application using Log4j Core and its configured SMTP, Socket, or Syslog logging endpoint. The target application must use TLS for that appender through a nested <Ssl> configuration and rely on the verifyHostName attribute for hostname validation. In vulnerable versions, that attribute is ignored, so the appender may accept a TLS certificate that chains to a trusted CA even if the certificate does not match the intended logging server hostname. The attacker presents such a trusted certificate, completes the TLS session as an impostor endpoint, and proxies, captures, drops, or modifies the log stream. Successful exploitation can disclose log data and potentially degrade the integrity of centralized logging or alerting, but it does not directly execute code on the application host.
How to fix it
Upgrade Apache Log4j Core to 2.25.4 or later, which corrects hostname verification for the affected <Ssl verifyHostName> configuration path. Prioritize applications using SMTP, Socket, or Syslog appenders with TLS configured via a nested <Ssl> element. Review dependency manifests, build files, application server libraries, shaded JARs, and container images for bundled log4j-core artifacts. If immediate upgrade is not possible, reduce exposure by avoiding affected network appenders, using the HTTP appender where appropriate, pinning or tightly restricting the appender trust store to the intended logging endpoint certificate or private CA, enforcing network-level controls so only expected application hosts can connect to logging endpoints, and preventing untrusted network paths from intercepting logging traffic. Do not treat setting verifyHostName="true" alone as sufficient on vulnerable versions, because that attribute is the affected behavior.
How to confirm the fix worked
Confirm the deployed log4j-core version is 2.25.4 or later in all runtime locations, including transitive dependencies and packaged application artifacts. Search Log4j configuration files for SMTP, Socket, or Syslog appenders that include nested <Ssl> elements and verify whether they previously relied on verifyHostName. Validate with dependency tooling such as Maven dependency:tree, Gradle dependencies, SBOM scanners, container image scanners, and runtime classpath inspection. Where feasible, perform a controlled TLS validation test in a non-production environment using a certificate trusted by the trust store but issued for a different hostname; fixed versions should reject the connection when hostname verification is enabled. Also verify that the HTTP appender is not incorrectly flagged as affected solely due to this issue, because it uses a separate hostname verification path.
Typical attack path
- Identify an application that uses Apache Log4j Core with SMTP, Socket, or Syslog appenders for remote logging.
- Confirm or infer that TLS is configured for the appender through a nested <Ssl> element and that the deployment relies on verifyHostName for hostname validation.
- Gain a suitable network interception position, such as control of a routing path, DNS redirection path, compromised proxy, or adjacent network segment.
- Obtain or present a certificate that is trusted by the appender’s configured trust store or by the default Java trust store.
- Impersonate the configured logging endpoint during TLS negotiation; because hostname verification is not enforced, the connection may be accepted.
- Capture, relay, suppress, or alter log events transmitted over the intercepted logging channel.
How to detect it
To determine exposure, search application configuration repositories, deployed configuration files, container images, and packaged artifacts for Log4j SMTP, Socket, or Syslog appenders using nested <Ssl> elements, especially those setting verifyHostName. To investigate possible past exploitation, review network telemetry, DNS logs, proxy logs, firewall logs, packet captures, and TLS inspection metadata for application servers connecting to unexpected logging destinations, unexpected IPs for known logging hostnames, or certificates with subjects/SANs that do not match the configured logging endpoint but chain to a trusted CA. Check centralized logging platforms for unexplained gaps, duplicate streams, source changes, timestamp discontinuities, or malformed events around network changes. Review Java TLS debug logs, if enabled, for certificate chains and peer identities used by logging appenders. There are no known public threat actors, exploit kits, malware markers, or ransomware campaigns tied to this CVE, so detection should focus on anomalous logging transport behavior rather than a fixed exploit signature.
What your security team should do
- Inventory Java applications and services using org.apache.logging.log4j:log4j-core, including shaded, bundled, and containerized copies.
- Prioritize review of systems that transmit logs to remote SMTP, Socket, or Syslog endpoints over TLS using nested <Ssl> configuration.
- Upgrade affected deployments to Apache Log4j Core 2.25.4 or later and rebuild/redeploy dependent applications.
- For high-sensitivity logging flows, restrict trust stores to the exact logging infrastructure CA or certificate chain rather than relying on broad default Java trust stores.
- Use network segmentation, firewall rules, and mutual trust boundaries to prevent untrusted systems from intercepting application-to-logging-endpoint traffic.
- Review logs and network telemetry for unexpected TLS certificate issuers, destination changes, DNS anomalies, or routing changes involving logging endpoints.
- Because the issue is not currently KEV-listed, has no reported ransomware association, and has low stable EPSS, handle as a targeted configuration-dependent risk rather than an internet-wide emergency, while still remediating where sensitive logs are transmitted.
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Tumbleweed | log4j | 0 | 2.20.0-2.1 |
Related vulnerabilities
- CVE-2026-34479 The Log4j1XmlLayout from the Apache Log4j 1-to-Log4j 2 bridge fails to escape characters… Also affects log4j
- CVE-2026-34480 Apache Log4j Core's XmlLayout https://logging.apache.org/log4j/2.x/manual/layouts.html#Xm… Also affects log4j
- CVE-2026-34481 Apache Log4j's JsonTemplateLayout https://logging.apache.org/log4j/2.x/manual/json-templa… Also affects log4j
- CVE-2021-44228 Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and… Also affects log4j
- CVE-2026-88647 A hostname verification bypass in GnuTLS v3.8.13 allows attackers to circumvent the… CWE-297
- CVE-2026-107660 FFmpeg before 8.1.3 and 9.x before 9.0.2 contains an improper certificate validation… CWE-297
- CVE-2026-19553 ssl.SSLContext.wrap_bio() didn't require the server_hostname argument to not be None if… CWE-297
- CVE-2026-91769 PHP's OpenSSL stream peer verification checks the certificate's subjectAltName entries… CWE-297