Description
The Log4j1XmlLayout from the Apache Log4j 1-to-Log4j 2 bridge fails to escape characters forbidden by the XML 1.0 standard, producing malformed XML output. Conforming XML parsers are required to reject documents containing such characters with a fatal error, which may cause downstream log processing systems to drop or fail to index affected records. Two groups of users are affected: * Those using Log4j1XmlLayout directly in a Log4j Core 2 configuration file. * Those using the Log4j 1 configuration compatibility layer with org.apache.log4j.xml.XMLLayout specified as the layout class. Users are advised to upgrade to Apache Log4j 1-to-Log4j 2 bridge version 2.25.4, which corrects this issue. Note: The Apache Log4j 1-to-Log4j 2 bridge is deprecated and will not be present in Log4j 3. Users are encouraged to consult the Log4j 1 to Log4j 2 migration guide https://logging.apache.org/log4j/2.x/migrate-from-log4j1.html , and specifically the section on eliminating reliance on the bridge.
Problem types
CWE-116 Improper Encoding or Escaping of Output
Product status
2.7 (maven) before 2.25.4
3.0.0-alpha1 (maven)
Timeline
| 2026-02-16: | Vulnerability reported by Ap4sh and ethicxz |
| 2026-03-15: | Independent report received from jabaltarik1 |
| 2026-03-24: | Fix shared publicly by Piotr P. Karwasz as pull request #4078 |
| 2026-03-25: | Fix verified by reporter |
| 2026-03-28: | Log4j 2.25.4 released |
Credits
Ap4sh (Samy Medjahed) and Ethicxz (Eliott Laurie) (original reporters)
jabaltarik1 (independently)
References
www.openwall.com/lists/oss-security/2026/04/10/8
github.com/apache/logging-log4j2/pull/4078
logging.apache.org/security.html
logging.apache.org/cyclonedx/vdr.xml
logging.apache.org/log4j/2.x/migrate-from-log4j1.html
lists.apache.org/thread/gd0hp6mj17rn3kj279vgy4p7kd4zz5on