Apache Struts 2 REST Plugin XStream XML Request Deserialization RCE

Critical Nessus Plugin ID 102977


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 the Apache Struts 2 web framework. A remote code execution vulnerability exists in the REST plugin, which uses XStreamHandler to insecurely deserialize user-supplied input in XML requests. An unauthenticated, remote attacker can exploit this, via a specially crafted XML request, 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.34 or 2.5.13 or later.

See Also







Plugin Details

Severity: Critical

ID: 102977

File Name: struts_2_5_13_rest_rce.nasl

Version: $Revision: 1.6 $

Type: remote

Family: CGI abuses

Published: 2017/09/06

Modified: 2017/12/07

Dependencies: 10107, 67257, 11936

Risk Information

Risk Factor: Critical


Base Score: 10

Temporal Score: 8.3

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

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


Base Score: 9.8

Temporal Score: 9

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

Vulnerability Information

CPE: cpe:/a:apache:struts

Excluded KB Items: Settings/disable_cgi_scanning

Exploit Available: true

Exploit Ease: Exploits are available

Exploited by Nessus: true

Patch Publication Date: 2017/09/05

Vulnerability Publication Date: 2017/09/05

Exploitable With

Core Impact

Metasploit (Apache Struts 2 REST Plugin XStream RCE)

Reference Information

CVE: CVE-2017-9805

OSVDB: 164610