Description
The Apache Struts frameworks when forced, performs double evaluation of attributes' values assigned to certain tags so it is possible to pass in a value that will be evaluated again when a tag's attributes will be rendered. Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution.
Remediation
Adding a proper validation of each value that's coming in and it's used in tag's attributes.
Don't use forced evaluation of an attribute other than value using %{...} syntax unless really needed for a valid use-case.
By upgrading to Struts 2.3.28, possible malicious effects of forced double evaluation are limited.
References
Related Vulnerabilities
Microsoft Exchange Server Server-Side Request Forgery (SSRF) vulnerability
Apache HTTP Server Insecure Path Normalization (CVE-2021-41773, CVE-2021-42013)
Unauthenticated Remote Code Execution via JSONWS in Liferay 7.2.0 CE GA1
phpMoAdmin remote code execution
WordPress Plugin VaultPress Man-in-The-Middle (MiTM) Remote Code Execution (1.8.6)