HomePentest-Tools.com Logo

Apache Struts - Remote Code Execution (Log4Shell - CVE-2021-44228) (CVE-2021-44228)

Severity
CVSSv3 Score
10
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.

Recommendation

Upgrade the Log4j library to at least version 2.17.1 and Apache Struts to the latest version.

Codename
Log4Shell
Detectable with
Network Scanner
Exploitable with Sniper
Yes
Vuln date
Dec 2021
Published at
Updated at
Software Type
Web framework
Vendor
Apache
Product
Struts