Bug 1013030 (CVE-2013-4310)

Summary: CVE-2013-4310 struts: broken access control vulnerability
Product: [Other] Security Response Reporter: Vincent Danen <vdanen>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aneelica, dbhole, djorm, jkurik, mmraka, puntogil, weli
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: struts 2.3.15.2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-30 04:53:19 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: 1013038    

Description Vincent Danen 2013-09-27 16:11:47 UTC
Struts 2 action mapping mechanism supports the special parameter prefix action: which is intended to help with attaching navigational information to buttons within forms.

In Struts 2 before 2.3.15.2, under certain conditions this can be used to bypass security constraints. More details will available later on when the patch will be widely adopted.


External References:

http://struts.apache.org/release/2.3.x/docs/s2-018.html
https://issues.apache.org/jira/browse/WW-4200

Comment 1 Vincent Danen 2013-09-27 16:13:51 UTC
Upstream bug report: https://issues.apache.org/jira/browse/WW-4200

Comment 2 gil cattaneo 2013-09-27 16:51:57 UTC
actual Struts version in fedora is 1.3.10
the problem is present only in Struts 2.0.0 and Struts 2.3.15.1
regards

Comment 3 gil cattaneo 2013-09-27 16:56:09 UTC
please close this bug

Comment 4 Vincent Danen 2013-09-27 22:57:00 UTC
Yes, upstream indicates 2.0.0+ but that is only because 1.x is no longer supported (so they never indicate whether it is affected).  Did you see the patch that corrects this issue and verify that it doesn't apply to 1.x?  Or do you have something more concrete than just upstream's "affected versions" value to substantiate this claim?

Comment 5 gil cattaneo 2013-09-28 09:23:36 UTC
hi
not applicabile for 1.x series (required by springframework)
the files that should be patched are not available in 1.x
regards

Comment 6 gil cattaneo 2013-09-28 12:03:16 UTC
structs2 breaks compatibility also with the following package
velocity-tools (springframework BR/R)
i will not update structs2, until depend on tomcat6 apis, or SpringFramework and Velocity tools do not require more

Comment 9 David Jorm 2013-09-30 06:56:53 UTC
External References:

https://issues.apache.org/jira/browse/WW-4200

Upstream Patch:

http://svn.apache.org/viewvc?view=revision&revision=r1524296

Comment 10 Vincent Danen 2013-10-18 14:42:05 UTC
Struts 2.3.15.3 GA was announced yesterday, noting this issue as fixed, so possibly the previous fix was not sufficient:

http://seclists.org/fulldisclosure/2013/Oct/146

Comment 11 gil cattaneo 2013-10-18 16:52:28 UTC
(In reply to Vincent Danen from comment #10)
> Struts 2.3.15.3 GA was announced yesterday, noting this issue as fixed, so
> possibly the previous fix was not sufficient:
> 
> http://seclists.org/fulldisclosure/2013/Oct/146
the bug hit only the 2.x series, and if read the previous comments, you can give an answer

Comment 12 Vincent Danen 2013-10-18 17:08:25 UTC
(In reply to gil cattaneo from comment #11)
> the bug hit only the 2.x series, and if read the previous comments, you can
> give an answer

Yes, I'm aware of that.  I was just noting followup information, not implying that 1.x was affected.

Comment 13 Chess Hazlett 2019-09-17 20:30:55 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.