Remote code execution in Apache Struts - CVE-2017-9791
Published: July 10, 2017 / Updated: February 20, 2022
Vulnerability identifier: #VU7391
CSH Severity: High
CVSS v4: 9.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2017-9791
CWE-ID: CWE-20
Exploitation vector: Remote access
Exploit availability:
The vulnerability is being exploited in the wild
Vulnerability details
The vulnerability allows a remote attacker to execute arbitrary code on the target system.
The weakness exists due to input validation error when using the Struts 2 Struts 1 plugin and it's a Struts 1 action. A remote attacker can send an error message in the
Successful exploitation of the vulnerability may result in system compromise.
The weakness exists due to input validation error when using the Struts 2 Struts 1 plugin and it's a Struts 1 action. A remote attacker can send an error message in the
ActionMessage class containing malicious field value and execute arbitrary code on the target system.Successful exploitation of the vulnerability may result in system compromise.
Affected software
Apache Struts
How to mitigate CVE-2017-9791
Follow vendor's recommendations to mitigate this vulnerability.
Links to Public Exploits and PoC-codes
- Exploit #2299 - Exploits (Containing Self Made Perl Reproducers / PoC Codes) (April 7, 2020)
- Exploit #145 - labs (Vulnerability Labs for security analysis) (March 18, 2020)
- Exploit #1258 - Apache Struts 2.3.x Showcase - Remote Code Execution (PoC) (March 18, 2020)
- Exploit #1759 - Apache Struts 2 Struts 1 Plugin Showcase OGNL Code Execution (March 18, 2020)