Apache Struts 2.1.x >= 2.1.2 / 2.2.x / 2.3.x < 2.3.34 / 2.5.x < 2.5.13 Multiple Vulnerabilities (S2-050 - S2-053)

High Nessus Plugin ID 102960

Synopsis

A web application running on the remote host uses a Java framework that is affected by multiple vulnerabilities.

Description

The version of Apache Struts running on the remote host is 2.1.x subsequent or equal to 2.1.2, 2.2.x, 2.3.x prior to 2.3.34, or 2.5.x prior to 2.5.13. It is, therefore, affected by multiple vulnerabilities:

- A remote code execution vulnerability in the REST plugin. The Struts REST plugin uses an XStreamHandler with an instance of XStream for deserialization and does not perform any type filtering when deserializing XML payloads. This can allow an unauthenticated, remote attacker to execute arbitrary code in the context of the Struts REST plugin by sending a specially crafted XML payload. (CVE-2017-9805)

- A denial of service vulnerability in the XStream XML deserializer in the XStreamHandler used by the REST plugin. (CVE-2017-9793)

- A denial of service vulnerability when using URLValidator.
(CVE-2017-9804)

- A flaw exists related to 'freemarker' tags, expression literals, 'views/freemarker/FreemarkerManager.java', and forced expressions that allows arbitrary code execution.
(CVE-2017-12611)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade to Apache Struts version 2.3.34 or 2.5.13 or later.

See Also

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13

https://cwiki.apache.org/confluence/display/WW/S2-050

https://cwiki.apache.org/confluence/display/WW/S2-051

https://cwiki.apache.org/confluence/display/WW/S2-052

https://cwiki.apache.org/confluence/display/WW/S2-053

https://lgtm.com/blog/apache_struts_CVE-2017-9805_announcement

https://lgtm.com/blog/apache_struts_CVE-2017-9805

http://www.nessus.org/u?45c4be36

https://seclists.org/oss-sec/2017/q3/406

Plugin Details

Severity: High

ID: 102960

File Name: struts_2_5_13.nasl

Version: 1.16

Type: combined

Agent: windows, macosx, unix

Family: Misc.

Published: 2017/09/05

Updated: 2019/02/15

Dependencies: 99671, 11936, 73943, 122235

Configuration: Enable paranoid mode

Risk Information

Risk Factor: High

CVSS Score Source: CVE-2017-12611

CVSS v2.0

Base Score: 7.5

Temporal Score: 6.2

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

Temporal Vector: CVSS2#E:F/RL:OF/RC:C

CVSS v3.0

Base Score: 9.8

Temporal Score: 9.1

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:F/RL:O/RC:C

Vulnerability Information

CPE: cpe:/a:apache:struts

Required KB Items: Settings/ParanoidReport

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 2017/09/05

Vulnerability Publication Date: 2017/09/05

Exploitable With

Core Impact

Metasploit (Apache Struts 2 REST Plugin XStream RCE)

Elliot (Apache Struts REST Plugin XStream RCE)

Reference Information

CVE: CVE-2017-9793, CVE-2017-9804, CVE-2017-9805, CVE-2017-12611

BID: 100609, 100611, 100612, 100829