Apache Struts 2 REST Plugin OGNL Expression Handling RCE

critical Nessus Plugin ID 91811

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

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

Solution

Upgrade to Apache Struts version 2.3.29 or later.

See Also

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

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

Plugin Details

Severity: Critical

ID: 91811

File Name: struts_2_3_29_rest_rce.nasl

Version: 1.19

Type: remote

Family: CGI abuses

Published: 6/24/2016

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: 7.5

Temporal Score: 6.2

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

CVSS Score Source: CVE-2016-4438

CVSS v3

Risk Factor: Critical

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

Exploit Ease: No exploit is required

Exploited by Nessus: true

Patch Publication Date: 6/14/2016

Vulnerability Publication Date: 6/14/2016

Exploitable With

Elliot (Apache Struts REST Plugin OGNL Expression Handling RCE)

Reference Information

CVE: CVE-2016-4438