CVE-2019-17571
Critical · 9.8CVSS
9.8
EPSS
70.0%
Published
Dec 20, 2019
CISA due date
—
Cloudanix analysis
A flaw in an old logging component lets attackers take over computers remotely by sending bad data over the network, so organizations must update the software right away to stay protected.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Deserialization
- Remediation
- Upgrade
- Effort
- High
- Patch risk
- High
What it actually does
The SocketServer class in Log4j 1.2 accepts untrusted network input and performs deserialization without validation, enabling remote code execution when a suitable gadget chain is present.
Why it matters to the business
Attackers can gain full control of affected systems over the network, leading to data theft, service disruption, or further compromise, with high urgency for any deployments still using the vulnerable component despite its age.
How an attack unfolds
An attacker connects to the exposed SocketServer port and transmits a crafted serialized Java object that, upon deserialization, triggers a gadget chain to execute arbitrary commands; no authentication is required.
How to fix it
Upgrade swagger-api/swagger-ui to the fixed commit 278dc05c886ce9d5d91860d56d9b57f3ab53ad5b or later; replace any direct or transitive use of Log4j 1.2.17 or earlier with a supported version that disables or removes the vulnerable SocketServer functionality.
How to confirm the fix worked
Confirm the running version of Log4j is newer than 1.2.17 and that SocketServer is not instantiated or bound to network interfaces; review dependency trees and scan for the vulnerable class files.
Typical attack path
- Identify hosts running Log4j 1.2 with SocketServer enabled and listening on a network port
- Craft a malicious serialized payload using a known deserialization gadget chain
- Send the payload over the network to the SocketServer listener
- Trigger deserialization to achieve remote code execution and establish persistence or exfiltrate data
How to detect it
Review application logs and network traffic for connections to SocketServer ports, inspect Java process command lines for Log4j 1.2 references, and search for serialized object patterns or unexpected class loading during log processing.
What your security team should do
- Immediately audit all environments for Log4j 1.2 usage and prioritize upgrade to the specified fixed commit or newer release
- Disable or firewall off any SocketServer listeners until upgrades are complete
- Implement network segmentation and monitoring for unexpected deserialization activity on logging ports
The record
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 packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | log4j:log4j | 1.2 | No fix |
| Maven | org.zenframework.z8.dependencies.commons:log4j-1.2.17 | 2.0 | No fix |
| Chainguard | druid-compat | 0 | 34.0.0-r6 |
| Debian:10 | apache-log4j1.2 | 0 | 1.2.17-8+deb10u1 |
| Debian:11 | apache-log4j1.2 | 0 | 1.2.17-9 |
| Debian:12 | apache-log4j1.2 | 0 | 1.2.17-9 |
| Debian:13 | apache-log4j1.2 | 0 | 1.2.17-9 |
| Debian:8 | apache-log4j1.2 | 0 | 1.2.17-5+deb8u1 |
| Debian:9 | apache-log4j1.2 | 0 | 1.2.17-7+deb9u1 |
| Mageia:8 | davmail | 0 | 6.1.0-1.mga8 |
| Red Hat:enterprise_linux:7::client | log4j | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::client | log4j-javadoc | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::client | log4j-manual | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::computenode | log4j | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::computenode | log4j-javadoc | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::computenode | log4j-manual | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::server | log4j | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::server | log4j-javadoc | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::server | log4j-manual | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::workstation | log4j | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::workstation | log4j-javadoc | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:enterprise_linux:7::workstation | log4j-manual | 0 | 0:1.2.17-16.el7_4 |
| Red Hat:jboss_enterprise_application_platform:5::el5 | log4j | 0 | 0:1.2.14-19.patch_01.ep5.el5 |
| Red Hat:jboss_enterprise_application_platform:5::el6 | log4j | 0 | 0:1.2.14-19.patch_01.ep5.el6 |
| Red Hat:jboss_enterprise_application_platform:6::el6 | jboss-ec2-eap | 0 | 0:7.5.17-1.Final_redhat_4.ep6.el6 |
| Red Hat:jboss_enterprise_application_platform:6::el6 | jboss-ec2-eap-samples | 0 | 0:7.5.17-1.Final_redhat_4.ep6.el6 |
| Red Hat:jboss_enterprise_application_platform:7::el6 | eap7-jboss-ec2-eap | 0 | 0:7.0.8-1.GA_redhat_1.ep7.el6 |
| Red Hat:jboss_enterprise_application_platform:7::el6 | eap7-jboss-ec2-eap-samples | 0 | 0:7.0.8-1.GA_redhat_1.ep7.el6 |
| Red Hat:jboss_enterprise_application_platform:7::el7 | eap7-jboss-ec2-eap | 0 | 0:7.0.8-1.GA_redhat_1.ep7.el7 |
| Red Hat:jboss_enterprise_application_platform:7::el7 | eap7-jboss-ec2-eap-samples | 0 | 0:7.0.8-1.GA_redhat_1.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | log4j-eap6 | 0 | 0:1.2.16-12.redhat_3.1.ep6.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat-native | 0 | 0:1.2.8-10.redhat_10.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat-native-debuginfo | 0 | 0:1.2.8-10.redhat_10.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7 | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-admin-webapps | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-docs-webapp | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-el-2.2-api | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-javadoc | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-jsp-2.2-api | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-jsvc | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-lib | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-log4j | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-selinux | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-servlet-3.0-api | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat7-webapps | 0 | 0:7.0.70-22.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8 | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-admin-webapps | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-docs-webapp | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-el-2.2-api | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-javadoc | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-jsp-2.3-api | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-jsvc | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-lib | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-log4j | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-selinux | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-servlet-3.1-api | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el6 | tomcat8-webapps | 0 | 0:8.0.36-24.ep7.el6 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | log4j-eap6 | 0 | 0:1.2.16-12.redhat_3.1.ep6.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat-native | 0 | 0:1.2.8-10.redhat_10.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat-native-debuginfo | 0 | 0:1.2.8-10.redhat_10.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7 | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-admin-webapps | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-docs-webapp | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-el-2.2-api | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-javadoc | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-jsp-2.2-api | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-jsvc | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-lib | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-log4j | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-selinux | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-servlet-3.0-api | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat7-webapps | 0 | 0:7.0.70-22.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8 | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-admin-webapps | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-docs-webapp | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-el-2.2-api | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-javadoc | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-jsp-2.3-api | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-jsvc | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-lib | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-log4j | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-selinux | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-servlet-3.1-api | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:jboss_enterprise_web_server:3.1::el7 | tomcat8-webapps | 0 | 0:8.0.36-24.ep7.el7 |
| Red Hat:rhel_els:6 | log4j | 0 | 0:1.2.14-6.7.el6_10 |
| Red Hat:rhel_els:6 | log4j-debuginfo | 0 | 0:1.2.14-6.7.el6_10 |
| Red Hat:rhel_els:6 | log4j-javadoc | 0 | 0:1.2.14-6.7.el6_10 |
| Red Hat:rhel_els:6 | log4j-manual | 0 | 0:1.2.14-6.7.el6_10 |
| SUSE:Enterprise Storage 5 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:HPE Helion OpenStack 8 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | log4j | 0 | 1.2.17-5.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | log4j | 0 | 1.2.17-5.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 | log4j | 0 | 1.2.17-5.3.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | log4j | 0 | 1.2.17-5.3.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | log4j | 0 | 1.2.15-26.32.14.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | log4j | 0 | 1.2.15-26.32.14.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP4 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP4 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:OpenStack Cloud 7 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:OpenStack Cloud 8 | log4j | 0 | 1.2.15-126.3.1 |
| SUSE:OpenStack Cloud Crowbar 8 | log4j | 0 | 1.2.15-126.3.1 |
| Ubuntu:18.04:LTS | apache-log4j1.2 | 0 | 1.2.17-8+deb10u1build0.18.04.1 |
| Ubuntu:18.04:LTS | apache-log4j1.2 | 0 | 1.2.17-8+deb10u1ubuntu0.2 |
| Ubuntu:20.04:LTS | apache-log4j1.2 | 0 | 1.2.17-9 |
| Ubuntu:20.04:LTS | apache-log4j1.2 | 0 | 1.2.17-9ubuntu0.2 |
| Ubuntu:Pro:14.04:LTS | apache-log4j1.2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | apache-log4j1.2 | 0 | 1.2.17-7ubuntu1+esm1 |
| Wolfi | druid-compat | 0 | 34.0.0-r6 |
| maven | log4j/log4j | 1.2 | No fix |
| maven | org.apache.logging.log4j/log4j | 1.2 | No fix |
| maven | org.zenframework.z8.dependencies.commons/log4j-1.2.17 | 2.0 | No fix |
| openSUSE:Leap 15.1 | log4j | 0 | 1.2.17-lp151.5.3.1 |
| openSUSE:Leap 15.1 | log4j-mini | 0 | 1.2.17-lp151.5.3.1 |
Related vulnerabilities
- CVE-2022-23305 By design, the JDBCAppender in Log4j 1.2.x accepts an SQL statement as a configuration… Also affects log4j:log4j
- CVE-2022-23307 CVE-2020-9493 identified a deserialization issue that was present in Apache Chainsaw. Also affects log4j:log4j
- CVE-2022-23302 JMSSink in all versions of Log4j 1.x is vulnerable to deserialization of untrusted data… Also affects log4j:log4j
- CVE-2021-4104 JMSAppender in Log4j 1.2 is vulnerable to deserialization of untrusted data when the… Also affects log4j:log4j
- CVE-2025-68161 Apache Log4j does not verify the TLS hostname in its Socket Appender Also affects druid-compat
- CVE-2025-58056 Netty vulnerable to request smuggling due to incorrect parsing of chunk extensions Also affects druid-compat
- CVE-2025-58057 Netty's decoders vulnerable to DoS via zip bomb style attack Also affects druid-compat
- CVE-2025-8916 Allocation of Resources Without Limits or Throttling vulnerability in Legion of the… Also affects druid-compat