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.20

Type: remote

Family: CGI abuses

Published: 3/24/2016

Updated: 7/17/2023

Configuration: Enable thorough checks

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 5.9

CVSS v2

Risk Factor: High

Base Score: 9

Temporal Score: 7

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

CVSS Score Source: CVE-2016-0785

CVSS v3

Risk Factor: High

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

Required KB Items: Settings/enable_web_app_tests

Exploit Ease: No exploit is required

Exploited by Nessus: true

Patch Publication Date: 3/22/2016

Vulnerability Publication Date: 3/15/2016

Reference Information

CVE: CVE-2016-0785