Bug 1488482 (CVE-2017-9805) - CVE-2017-9805 struts: RCE attack via REST plugin with XStream handler to deserialise XML requests
Summary: CVE-2017-9805 struts: RCE attack via REST plugin with XStream handler to dese...
Keywords:
Status: CLOSED NOTABUG
Alias: CVE-2017-9805
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1488487 1488488
Blocks: 1488486
TreeView+ depends on / blocked
 
Reported: 2017-09-05 13:47 UTC by Adam Mariš
Modified: 2019-09-29 14:20 UTC (History)
30 users (show)

Fixed In Version: struts 2.5.13
Doc Type: If docs needed, set a value
Doc Text:
The REST Plugin in Apache Struts2 is using a XStreamHandler with an instance of XStream for deserialization without any type filtering which could lead to Remote Code Execution when deserializing XML payloads. An attacker could use this flaw to execute arbitrary code or conduct further attacks.
Clone Of:
Environment:
Last Closed: 2017-09-06 08:51:03 UTC


Attachments (Terms of Use)

Description Adam Mariš 2017-09-05 13:47:04 UTC
The REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering and this can lead to Remote Code Execution when deserializing XML payloads.

Affected versions:

Struts 2.5 - Struts 2.5.12

External References:

https://struts.apache.org/docs/s2-052.html

Comment 1 Adam Mariš 2017-09-05 14:01:34 UTC
Created struts tracking bugs for this issue:

Affects: epel-7 [bug 1488487]
Affects: fedora-all [bug 1488488]

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


Note You need to log in before you can comment on or make changes to this bug.