Overview
Apache Struts 2 framework, versions 2.5 to 2.5.12, with REST plugin insecurely deserializes untrusted XML data. A remote, unauthenticated attacker can leverage this vulnerability to execute arbitrary code in the context of the Struts application.
Description
CWE-502: Deserialization of Untrusted Data - CVE-2017-9805 In Apache Struts 2 framework, versions 2.5 to 2.5.12, the REST plugin uses XStreamHandler with an instance of XStream to deserialize XML data. Because there is no type filtering, a remote, unauthenticated attacker may send a specially crafted XML payload to execute arbitrary code in the context of the Struts application. |
Impact
A remote, unauthenticated attacker may send a specially crafted XML payload to execute arbitrary code on vulnerable servers in the context of the Struts application. |
Solution
Apply an update |
Remove or limit the REST plugin |
Vendor Information
CVSS Metrics
Group | Score | Vector |
---|---|---|
Base | 10 | AV:N/AC:L/Au:N/C:C/I:C/A:C |
Temporal | 8.3 | E:F/RL:OF/RC:C |
Environmental | 8.3 | CDP:ND/TD:H/CR:ND/IR:ND/AR:ND |
References
Acknowledgements
Man Yue Mo of lgtm is credited with reporting this vulnerability to the vendor.
This document was written by Joel Land.
Other Information
CVE IDs: | CVE-2017-9805 |
Date Public: | 2017-09-05 |
Date First Published: | 2017-09-06 |
Date Last Updated: | 2017-09-06 13:16 UTC |
Document Revision: | 14 |