Apache Struts 2.x < 2.3.29 Multiple Vulnerabilities (S2-035 - S2-041)

High Nessus Plugin ID 91812

Synopsis

The remote Windows host contains a web application that uses a Java framework that is affected by multiple vulnerabilities.

Description

The version of Apache Struts running on the remote Windows host is 2.x prior to 2.3.29. It is, therefore, affected by the following vulnerabilities :

- A remote code execution vulnerability exists due to erroneously performing double OGNL evaluation of attribute values assigned to certain tags. An unauthenticated, remote attacker can exploit this, via a specially crafted request, to execute arbitrary code.
(CVE-2016-0785)

- A cross-site request forgery (XSRF) vulnerability exists due to improper validation of session tokens. An unauthenticated, remote attacker can exploit this, via a malicious OGNL expression, to bypass token validation and perform an XSRF attack. (CVE-2016-4430)

- Multiple input validation issues exists that allow internal security mechanisms to be bypassed, allowing the manipulation of a return string which can be used to redirect users to a malicious website. This affects both the default action method the 'getter' action method.
(CVE-2016-4431, CVE-2016-4433)

- An unspecified flaw exists that is triggered during the cleanup of action names. An unauthenticated, remote attacker can exploit this, via a specially crafted payload, to perform unspecified actions. (CVE-2016-4436)

- A remote code execution vulnerability exists in the REST plugin due to improper handling of OGNL expressions. An unauthenticated, remote attacker can exploit this, via a specially crafted OGNL expression, to execute arbitrary code. (CVE-2016-4438)

- A denial of service vulnerability exists in URLValidator due to improper handling of form fields. An unauthenticated, remote attacker can exploit this, via a crafted URL, to overload the server when performing validation on the URL. (CVE-2016-4465)

- A remote code execution vulnerability exists in user tag attributes due to improper handling of OGNL expressions. An unauthenticated, remote attacker can exploit this, via a specially crafted double OGNL evaluation, to execute arbitrary code. (CVE-2016-4461)

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.29 or later. Alternatively, apply the workarounds referenced in the vendor advisory.

See Also

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

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

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

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

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

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

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

http://struts.apache.org/docs/version-notes-2329.html

Plugin Details

Severity: High

ID: 91812

File Name: struts_2_3_29_win_local.nasl

Version: 1.13

Type: combined

Agent: windows, macosx, unix

Family: Misc.

Published: 2016/06/24

Updated: 2019/05/07

Dependencies: 11936, 73943, 122235, 99671

Configuration: Enable paranoid mode

Risk Information

Risk Factor: High

CVSS Score Source: CVE-2016-0785

CVSS v2.0

Base Score: 9

Temporal Score: 7.4

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

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

CVSS v3.0

Base Score: 9.8

Temporal Score: 9

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: 2016/06/14

Vulnerability Publication Date: 2016/06/14

Exploitable With

Elliot (Apache Struts REST Plugin OGNL Expression Handling RCE)

Reference Information

CVE: CVE-2016-0785, CVE-2016-4430, CVE-2016-4431, CVE-2016-4433, CVE-2016-4436, CVE-2016-4438, CVE-2016-4461, CVE-2016-4465

BID: 91275, 91277, 91278, 91280, 91281, 91282, 91284