CVE-2026-34480
Published: 10 April 2026
Summary
CVE-2026-34480 is a high-severity Improper Encoding or Escaping of Output (CWE-116) vulnerability in Apache Log4J. Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Transmitted Data Manipulation (T1565.002); ranked at the 35.6th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 AU-5 (Response to Audit Logging Process Failures) and SI-2 (Flaw Remediation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly requires timely identification, reporting, and correction of flaws like CVE-2026-34480 by patching Log4j Core to version 2.25.4.
Mandates alerting personnel and taking actions upon audit logging process failures, such as exceptions thrown by vulnerable XmlLayout during forbidden character processing.
Requires validation of user inputs before logging to block XML-forbidden characters that attackers inject to trigger malformed output or exceptions.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
The vulnerability allows control over log/MDC content to inject forbidden XML characters, producing malformed output that causes integrity violations or dropped records in downstream XML processing, directly enabling transmitted data manipulation.
NVD Description
Apache Log4j Core's XmlLayout https://logging.apache.org/log4j/2.x/manual/layouts.html#XmlLayout , in versions up to and including 2.25.3, fails to sanitize characters forbidden by the XML 1.0 specification https://www.w3.org/TR/xml/#charsets producing invalid XML output whenever a log message or MDC value contains such characters. The impact…
more
depends on the StAX implementation in use: * JRE built-in StAX: Forbidden characters are silently written to the output, producing malformed XML. Conforming parsers must reject such documents with a fatal error, which may cause downstream log-processing systems to drop the affected records. * Alternative StAX implementations (e.g., Woodstox https://github.com/FasterXML/woodstox , a transitive dependency of the Jackson XML Dataformat module): An exception is thrown during the logging call, and the log event is never delivered to its intended appender, only to Log4j's internal status logger. Users are advised to upgrade to Apache Log4j Core 2.25.4, which corrects this issue by sanitizing forbidden characters before XML output.
Deeper analysisAI
Apache Log4j Core's XmlLayout, in versions up to and including 2.25.3, contains a vulnerability (CVE-2026-34480) where it fails to sanitize characters forbidden by the XML 1.0 specification in log messages or Mapped Diagnostic Context (MDC) values. This results in invalid XML output when such characters are present. The issue affects applications using Log4j Core with XmlLayout for logging, particularly those relying on downstream XML processing.
Attackers with the ability to control log message content or MDC values—such as through user inputs that are logged—can exploit this remotely with low complexity and no privileges required (CVSS 7.5: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N; CWE-116). Depending on the StAX implementation, exploitation produces either malformed XML that conforming parsers reject, potentially causing downstream log-processing systems to drop affected records, or throws an exception (e.g., with Woodstox, a transitive dependency of Jackson XML Dataformat), preventing delivery to the intended appender and routing only to Log4j's internal status logger. This leads to log record loss or integrity violations.
Apache advisories recommend upgrading to Log4j Core 2.25.4, which addresses the issue by sanitizing forbidden characters before XML output. Relevant resources include the official security advisory at https://logging.apache.org/security.html#CVE-2026-34480, the fixing pull request at https://github.com/apache/logging-log4j2/pull/4077, and the XmlLayout documentation at https://logging.apache.org/log4j/2.x/manual/layouts.html#XmlLayout.
Details
- CWE(s)