CVE-2019-17571: Critical severity Apache Log4j vulnerability
A flaw was discovered in Log4j, where a vulnerable SocketServer class may lead to the deserialization of untrusted data. This flaw allows an attacker to remotely execute arbitrary code when combined with a deserialization gadget.
Other sources
Included in Log4j 1.2 is a SocketServer class that is vulnerable to deserialization of untrusted data which can be exploited to remotely execute arbitrary code when combined with a deserialization gadget when listening to untrusted network traffic for log data.
References:
https://logging.apache.org/log4j/1.2/ https://issues.apache.org/jira/browse/LOG4J2-1863 https://lists.apache.org/thread.html/84cc4266238e057b95eb95dfd8b29d46a2592e7672c12c92f68b2917%40%3Cannounce.apache.org%3E
— Red Hat
Included in Log4j 1.2 is a SocketServer class that is vulnerable to deserialization of untrusted data which can be exploited to remotely execute arbitrary code when combined with a deserialization gadget when listening to untrusted network traffic for log data. This affects Log4j versions 1.2 up to 1.2.17.
Users are advised to migrate to org.apache.logging.log4j:log4j-core.
Included in Log4j 1.2 is a SocketServer class that is vulnerable to deserialization of untrusted data which can be exploited to remotely execute arbitrary code when combined with a deserialization gadget when listening to untrusted network traffic for log data. This affects Log4j versions up to 1.2 up to 1.2.17.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/apache-log4j1.2to a version that resolves this vulnerability.Fixed in 1.2.17-9Fixed in 1.2.17-8+deb10u1Fixed in 1.2.17-7+deb9u1 - Upgrade
Upgrade
redhat/log4jto a version that resolves this vulnerability.Fixed in 0:1.2.14-6.7.el6_10 - Upgrade
Upgrade
redhat/log4jto a version that resolves this vulnerability.Fixed in 0:1.2.17-16.el7_4 - Upgrade
Upgrade
redhat/log4jto a version that resolves this vulnerability.Fixed in 0:1.2.14-19.patch_01.ep5.el5 - Upgrade
Upgrade
redhat/log4jto a version that resolves this vulnerability.Fixed in 0:1.2.14-19.patch_01.ep5.el6 - Upgrade
Upgrade
redhat/jboss-ec2-eapto a version that resolves this vulnerability.Fixed in 0:7.5.17-1.Final_redhat_4.ep6.el6 - Upgrade
Upgrade
redhat/eap7-jboss-ec2-eapto a version that resolves this vulnerability.Fixed in 0:7.0.8-1.GA_redhat_1.ep7.el6 - Upgrade
Upgrade
redhat/eap7-jboss-ec2-eapto a version that resolves this vulnerability.Fixed in 0:7.0.8-1.GA_redhat_1.ep7.el7 - Upgrade
Upgrade
redhat/log4j-eap6to a version that resolves this vulnerability.Fixed in 0:1.2.16-12.redhat_3.1.ep6.el6 - Upgrade
Upgrade
redhat/tomcat7to a version that resolves this vulnerability.Fixed in 0:7.0.70-22.ep7.el6 - Upgrade
Upgrade
redhat/tomcat8to a version that resolves this vulnerability.Fixed in 0:8.0.36-24.ep7.el6 - Upgrade
Upgrade
redhat/tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.8-10.redhat_10.ep7.el6 - Upgrade
Upgrade
redhat/log4j-eap6to a version that resolves this vulnerability.Fixed in 0:1.2.16-12.redhat_3.1.ep6.el7 - Upgrade
Upgrade
redhat/tomcat7to a version that resolves this vulnerability.Fixed in 0:7.0.70-22.ep7.el7 - Upgrade
Upgrade
redhat/tomcat8to a version that resolves this vulnerability.Fixed in 0:8.0.36-24.ep7.el7 - Upgrade
Upgrade
redhat/tomcat-nativeto a version that resolves this vulnerability.Fixed in 0:1.2.8-10.redhat_10.ep7.el7 - Upgrade
Upgrade
debian/apache-log4j1.2to a version that resolves this vulnerability.Fixed in 1.2.17-10+deb11u1Fixed in 1.2.17-11 - Upgrade
Upgrade
redhat/log4jto a version that resolves this vulnerability.Fixed in 2.8.2 - Configuration
If you must continue using SocketAppenders, modify the SocketAppender layout from SerializedLayout to JsonLayout (e.g., set log4j.appender.socket.layout to org.apache.log4j.JsonLayout) to avoid the vulnerable serialized deserialization of untrusted data (Log4j 1.2 up to 1.2.17).
Log4j 1.2 SocketAppender log4j.appender.socket.layout = org.apache.log4j.JsonLayout - Configuration
Mitigate by removing the SocketServer class outright (Log4j 1.2 up to 1.2.17), since the included vulnerable SocketServer may lead to deserialization of untrusted data.
Log4j 1.2 SocketServer class SocketServer usage = removed - Compensating control
When the application is listening to untrusted network traffic for log data, avoid using the vulnerable SocketServer/SocketAppender configuration that can deserialize untrusted data (Log4j 1.2 up to 1.2.17).
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2019-17571?
CVE-2019-17571 is a vulnerability in Log4j where a vulnerable SocketServer class may lead to the deserialization of untrusted data, allowing remote code execution.
What is the severity of CVE-2019-17571?
CVE-2019-17571 has a severity value of 9, which is considered critical.
How does CVE-2019-17571 affect Log4j?
CVE-2019-17571 affects Log4j versions up to 1.2, allowing for remote code execution.
What is the recommended remedy for CVE-2019-17571?
The recommended remedy for CVE-2019-17571 is to update Log4j to version 1.2.14-6.7.el6_10 or higher.
Where can I find more information about CVE-2019-17571?
You can find more information about CVE-2019-17571 at the following sources: [CVE](https://www.cve.org/CVERecord?id=CVE-2019-17571), [NVD](https://nvd.nist.gov/vuln/detail/CVE-2019-17571), [Red Hat Bugzilla](https://bugzilla.redhat.com/show_bug.cgi?id=1785616), [Red Hat Advisory](https://access.redhat.com/errata/RHSA-2022:5053).