Apache Struts2 treats HTTP request parameters as OGNL expressions. A remote attacker could exploit this by providing extremely long parameter names, which would take a long time to evaluate as OGNL expressions, leading to denial of service by CPU exhaustion. Struts 2.0.0 to Struts 2.3.4 is affected by this flaw. It is resolved in Struts 2.3.4.1 by limiting parameter name length to 100 characters by default. This setting can be configured using the "paramNameMaxLength" parameter in the ParametersInteceptor configuration. Upstream advisory: http://struts.apache.org/2.x/docs/s2-011.html
References: https://issues.apache.org/jira/browse/WW-3860 http://www.securityfocus.com/bid/55346 http://secunia.com/advisories/50420 http://xforce.iss.net/xforce/xfdb/78183
Statement: A previous statement by Red Hat related to this CVE, prior to August 2019, said that Apache Struts 2 is not included in any Red Hat products. This earlier statement was incorrect. While Struts 2 is not actively compiled, shipped, used, or enabled in any Red Hat provided final products, and does not cause any vulnerability in the product, struts2-core jars have been included in some products' source code packages. The inclusion was part of an import of the Google Guice repository, which includes struts2-core. Customers that build artefacts from our source code could be at risk. Red Hat will remove these artefacts from source code in future releases. The products that included the Struts 2 artefacts in their source jars: Fuse Service Works 6.0.0 Single Sign On 7.3.0+ If you have used the source package from one of these products to build artefacts on your system, you should do the following to remove potentially affected jars: 1. Run 'find . -name struts2*.jar' under the source location 2. Remove any files found This will not affect the product, as the jar is included with the source of google-guice, but no functionality requiring struts2 is implemented.