Apache Struts 2 REST Plugin OGNL Expression Handling RCE

High Nessus Plugin ID 91811


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


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.


Upgrade to Apache Struts version 2.3.29 or later.

See Also



Plugin Details

Severity: High

ID: 91811

File Name: struts_2_3_29_rest_rce.nasl

Version: 1.16

Type: remote

Family: CGI abuses

Published: 2016/06/24

Updated: 2020/06/12

Dependencies: 10107, 67257, 11936

Risk Information

Risk Factor: High

CVSS Score Source: CVE-2016-4438

CVSS v2.0

Base Score: 7.5

Temporal Score: 6.2

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

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

CVSS v3.0

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

Excluded KB Items: Settings/disable_cgi_scanning

Exploit Available: false

Exploit Ease: No exploit is required

Exploited by Nessus: true

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