Apache Struts - Remote Code Execution (Log4Shell - CVE-2021-44228) (CVE-2021-44228)
- CVSSv3 Score
- Vulnerability description
Apache Struts is affected by a Remote Code Execution vulnerability, located in the Log4j logging library. The root cause of the vulnerability is improper input validation in the JNDI functionality implemented in Apache Log4j <= 2.14.1 which is used by Apache Struts. A feature called "message lookup substitution", which is enabled by default in the affected versions, allows attackers to load and execute arbitrary Java code from a remote LDAP server. Furthermore, multiple protocols are supported in the JNDI lookups, including LDAP, LDAPS, DNS and RMI. Therefore, if an attacker can control the log messages and inject arbitrary code through one of the input parameters or in the HTTP headers, he can create a malicious Java class on a controlled server and the vulnerable server will use the lookup method to execute the Java class from the LDAP/LDAPS/DNS/RMI server. All the versions before 2.17.1 are affected.
- Risk description
The risk exists that a remote unauthenticated attacker can fully compromise the server in order to steal confidential information, install ransomware, or pivot to the internal network.
- Exploit capabilities
Sniper can gain unauthenticated Remote Code Execution on the target system and extract multiple artefacts as evidence.
Upgrade the Log4j library to at least version 2.17.1 and Apache Struts to the latest version.