Bug 799980 (CVE-2012-0838)

Summary: CVE-2012-0838 Struts2: Certain strings evaluated as OGNL expressions, leading to run-time data modification or arbitrary code execution
Product: [Other] Security Response Reporter: Jan Lieskovsky <jlieskov>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: chazlett, djorm, dwalluck, extras-orphan
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-06 01:02:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 799982    

Description Jan Lieskovsky 2012-03-05 14:35:12 UTC
Common Vulnerabilities and Exposures assigned an identifier CVE-2012-0838 to the following vulnerability:

Apache Struts 2 before 2.2.3.1 evaluates a string as an OGNL expression during the handling of a conversion error, which allows remote attackers to modify run-time data values, and consequently execute arbitrary code, via invalid input to a field.

References:
[1] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0838
[2] http://struts.apache.org/2.3.1.2/docs/s2-007.html
[3] https://issues.apache.org/jira/browse/WW-3668
[4] http://jvn.jp/en/jp/JVN79099262/index.html
[5] http://jvndb.jvn.jp/jvndb/JVNDB-2012-000012

Comment 2 Chess Hazlett 2019-09-17 20:38:16 UTC
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.