Description
The Struts 2 DefaultActionMapper supports a method for short-circuit navigation state changes by prefixing parameters with "action:" or "redirect:", followed by a desired navigational target expression. This mechanism was intended to help with attaching navigational information to buttons within forms.
In Struts 2 before 2.3.15.1 the information following "action:", "redirect:" or "redirectAction:" is not properly sanitized. Since said information will be evaluated as OGNL expression against the value stack, this introduces the possibility to inject server side code.
Affected Software:
Struts 2.0.0 - Struts 2.3.15
Remediation
Developers should immediately upgrade to Struts 2.3.15.1
References
Related Vulnerabilities
Apache Tapestry Unauthenticated RCE (CVE-2019-0195, CVE-2021-27850)
Squid Improper Input Validation Vulnerability (CVE-2016-4555)
Python Improper Input Validation Vulnerability (CVE-2013-4238)
Oracle WebLogic Remote Code Execution (CVE-2020-14882)
Drupal 7 arbitrary PHP code execution and information disclosure