Bug 773159 (CVE-2012-0391)

Summary: CVE-2012-0391 struts: User input is evaluated as an OGNL expression when there's a conversion error
Product: [Other] Security Response Reporter: Vincent Danen <vdanen>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: chazlett, djorm, pcheung
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-01-13 04:11:29 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: 773173    

Description Vincent Danen 2012-01-11 05:50:22 UTC
Common Vulnerabilities and Exposures assigned an identifier CVE-2012-0391 to
the following vulnerability:

Name: CVE-2012-0391
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0391
Assigned: 20120108
Reference: http://archives.neohapsis.com/archives/bugtraq/2012-01/0031.html
Reference: http://www.exploit-db.com/exploits/18329
Reference: https://www.sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt
Reference: http://struts.apache.org/2.x/docs/s2-008.html
Reference: http://struts.apache.org/2.x/docs/version-notes-2311.html
Reference: https://issues.apache.org/jira/browse/WW-3668
Reference: http://secunia.com/advisories/47393

The ExceptionDelegator component in Apache Struts before 2.2.3.1
interprets parameter values as OGNL expressions during certain
exception handling for mismatched data types of properties, which
allows remote attackers to execute arbitrary Java code via a crafted
parameter.

Comment 1 David Jorm 2012-01-13 04:09:57 UTC
This issue only affects struts 2.

Comment 4 Chess Hazlett 2019-09-17 20:40:25 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.