It was discovered that the OGNL extensive expression evaluation capability in XWork in Struts 2.0.0 through 2.1.8.1, as used in Atlassian Fisheye, Crucible, and possibly other products, uses a permissive whitelist, which allows remote attackers to modify server-side context objects and bypass the "#" protection mechanism in ParameterInterceptors via the (1) #context, (2) #_memberAccess, (3) #root, (4) #this, (5) #_typeResolver, (6) #_classResolver, (7) #_traceEvaluations, (8) #_lastEvaluation, (9) #_keepLastEvaluation, and possibly other OGNL context variables, a different vulnerability than CVE-2008-6504. References: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-1870 http://struts.apache.org/release/2.2.x/docs/s2-005.html https://github.com/victims/victims-cve-db/blob/master/database/java/2010/1870.yaml
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.