Vulnerability in Apache Struts Could Allow for Remote Code Execution

ITS Advisory Number: 
2017-083 (UPDATED)
Date(s) Issued: 
Wednesday, September 6, 2017
Date Updated: 
Sunday, September 10, 2017
Subject: 
Vulnerability in Apache Struts Could Allow for Remote Code Execution
Overview: 

A vulnerability has been discovered for Apache Software Foundation Struts version 2 which could allow for remote code execution. Apache Struts is an open source framework used for building Java web applications. Successful exploitation of this vulnerability could allow for remote code execution in the context of the affected application. Depending on the privileges associated with the application, an attacker could install programs; view, change, or delete data; or create new accounts with full user rights.

THREAT INTELLIGENCE:

There are currently no reports of this vulnerability being exploited in the wild.

September 10 - UPDATED THREAT INTELLIGENCE:

Exploit code for CVE-2017-9805 is available and being actively used in the wild.

Systems Affected: 
  • Apache Struts versions 2.5 to 2.5.12

SYSTEMS AFFECTED - Updated: September 6, 2017

  • All versions of Apache Struts released after 2008 ( v. 2.0.11 and later).  All web applications using the framework's popular REST plugin are vulnerable.  This vulnerability has been addressed in Struts versions and .

RISK
GOVERNMENT
Large and medium government entities: 
High
Small government entities: 
Medium
BUSINESS
Large and medium business entities: 
High
Small business entities: 
Medium
Home Users: 
N/A
Description: 

A vulnerability has been discovered in Apache Struts which could allow for remote code execution. This vulnerability exists because the REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to remote code execution when deserializing XML payloads.

Successful exploitation of this vulnerability could allow for remote code execution in the context of the application. Depending on the privileges associated with the application, an attacker could install programs; view, change, or delete data; or create new accounts with full user rights.

Actions: 
  • After appropriate testing, immediately upgrade to the latest version of Apache Struts.
  • Verify no unauthorized system modifications have occurred on system before applying the patch.
  • Frequently validate type and content of uploaded data.
  • Run all software as a non-privileged user (one without administrative privileges) to diminish the effects of a successful attack.
References: 

Apache:

CVE:

September 10 - UPDATED REFERENCES:

Exploit code:

hxxps://github.com/mazen160/struts-pwn_CVE-2017-9805