Apache Struts 2 'method:' Prefix Arbitrary Remote Command Execution

high Nessus Plugin ID 119728

Synopsis

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

Description

The remote web application appears to use Struts 2, a web framework that utilizes OGNL (Object-Graph Navigation Language) as an expression language. When Dynamic Method Invocation is enabled, it is possible to pass a malicious expression to the 'method:' prefix. A remote, unauthenticated attacker can exploit this issue to execute arbitrary commands on the remote web server.

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

Solution

Upgrade to version 2.3.28.1 or later.

See Also

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

Plugin Details

Severity: High

ID: 119728

File Name: struts_2_3_28_1_rce.nasl

Version: 1.11

Type: remote

Family: CGI abuses

Published: 12/17/2018

Updated: 7/17/2023

Configuration: Enable thorough checks

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: High

Score: 7.4

CVSS v2

Risk Factor: High

Base Score: 9.3

Temporal Score: 7.7

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

CVSS Score Source: CVE-2016-3081

CVSS v3

Risk Factor: High

Base Score: 8.1

Temporal Score: 7.5

Vector: CVSS:3.0/AV:N/AC:H/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

Exploit Available: true

Exploit Ease: Exploits are available

Exploited by Nessus: true

Patch Publication Date: 4/27/2016

Vulnerability Publication Date: 4/27/2016

Exploitable With

CANVAS (CANVAS)

Core Impact

Metasploit (Apache Struts Dynamic Method Invocation Remote Code Execution)

Elliot (Apache Struts Dynamic Method Invocation Expression Handling RCE)

Reference Information

CVE: CVE-2016-3081

BID: 87327