Package Name: org.apache.struts:struts2-core
Package Version: ['2.3.20']
Package Maanger: maven
Severity Level: critical
Snyk ID: SNYK-JAVA-ORGAPACHESTRUTS-30207
Snyk CVE: CVE-2017-5638
Snyk CWE: CWE-94
Link to issue in Snyk: https://app.snyk.io/org/rhicksiii91/project/c462b7de-2b58-4bbb-ba05-3fad7d26d5c0
Snyk Description: ## Overview
org.apache.struts:struts2-core is an elegant, extensible framework for building enterprise-ready Java web applications.
Affected versions of the package are vulnerable to Arbitrary Command Execution while uploading files with the Jakarta Multipart parser. This particular vulnerability can be exploited by an attacker by sending a crafted request to upload a file to the vulnerable server that uses a Jakarta-based plugin to process the upload request.
The attacker can then send malicious code in the Content-Type, Content-Disposition or Content-Length HTTP headers, which will then be executed by the vulnerable server. A proof of concept that demonstrates the attack scenario is publicly available and the vulnerability is being actively exploited in the wild.
Although maintainers of the open source project immediately patched the vulnerability, Struts servers that have yet to install the update remain under attack by hackers who exploit it to inject commands of their choice.
This attack can be achieved without authentication. To make matters worse, web applications don't necessarily need to successfully upload a malicious file to exploit this vulnerability, as just the presence of the vulnerable Struts library within an application is enough to exploit the vulnerability.
Remediation
Upgrade org.apache.struts:struts2-core to version 2.3.32, 2.5.10.1 or higher.
References
Package Name: org.apache.struts:struts2-core
Package Version: ['2.3.20']
Package Maanger: maven
Severity Level: critical
Snyk ID: SNYK-JAVA-ORGAPACHESTRUTS-30207
Snyk CVE: CVE-2017-5638
Snyk CWE: CWE-94
Link to issue in Snyk: https://app.snyk.io/org/rhicksiii91/project/c462b7de-2b58-4bbb-ba05-3fad7d26d5c0
Snyk Description: ## Overview
org.apache.struts:struts2-coreis an elegant, extensible framework for building enterprise-ready Java web applications.Affected versions of the package are vulnerable to Arbitrary Command Execution while uploading files with the Jakarta Multipart parser. This particular vulnerability can be exploited by an attacker by sending a crafted request to upload a file to the vulnerable server that uses a Jakarta-based plugin to process the upload request.
The attacker can then send malicious code in the
Content-Type,Content-DispositionorContent-LengthHTTP headers, which will then be executed by the vulnerable server. A proof of concept that demonstrates the attack scenario is publicly available and the vulnerability is being actively exploited in the wild.Although maintainers of the open source project immediately patched the vulnerability, Struts servers that have yet to install the update remain under attack by hackers who exploit it to inject commands of their choice.
This attack can be achieved without authentication. To make matters worse, web applications don't necessarily need to successfully upload a malicious file to exploit this vulnerability, as just the presence of the vulnerable Struts library within an application is enough to exploit the vulnerability.
Remediation
Upgrade
org.apache.struts:struts2-coreto version 2.3.32, 2.5.10.1 or higher.References