Apache Struts 2 Tag Attribute Double OGNL Evaluation RCE

High Nessus Plugin ID 90152

Synopsis

The remote web server contains a web application that uses a Java framework that is affected by a remote code execution vulnerability.

Description

The remote web application appears to use Apache Struts 2, a web framework that utilizes OGNL (Object-Graph Navigation Language) as an expression language. A remote code execution vulnerability exists due to 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.

Note that this plugin only reports the first vulnerable instance of a Struts 2 application.

Solution

Upgrade to Apache Struts version 2.3.28 or later. Alternatively, apply the workaround referenced in the vendor advisory.

See Also

http://struts.apache.org/docs/s2-029.html

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

Plugin Details

Severity: High

ID: 90152

File Name: struts_2_3_28_rce.nasl

Version: 1.17

Type: remote

Family: CGI abuses

Published: 2016/03/24

Updated: 2020/06/12

Dependencies: 10107, 67257, 11936

Risk Information

Risk Factor: High

CVSS Score Source: CVE-2016-0785

CVSS v2.0

Base Score: 9

Temporal Score: 7

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

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

CVSS v3.0

Base Score: 8.8

Temporal Score: 7.9

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

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

Vulnerability Information

CPE: cpe:/a:apache:struts

Excluded KB Items: Settings/disable_cgi_scanning

Exploit Available: false

Exploit Ease: No exploit is required

Exploited by Nessus: true

Patch Publication Date: 2016/03/22

Vulnerability Publication Date: 2016/03/15

Reference Information

CVE: CVE-2016-0785