Multiple Vulnerabilities in Apache Struts Could Allow for Remote Code Execution

ITS Advisory Number: 
2017-123
Date(s) Issued: 
Tuesday, December 5, 2017
Subject: 
Multiple Vulnerabilities in Apache Struts Could Allow for Remote Code Execution
Overview: 

Multiple vulnerabilities have been identified in Apache Software Foundation Struts version 2, the most severe of which could allow for remote code execution. Apache Struts is an open source framework used for building Java web applications. Successful exploitation of the most severe of these vulnerabilities could result in 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. If this application has been configured to have fewer user rights on the system, exploitation of the most severe of these vulnerabilities could have less impact than if it was configured with administrative rights.

Systems Affected: 
  • Apache Struts versions 2.5 - 2.5.14
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: 

Multiple vulnerabilities have been identified in Apache Struts version 2, the most severe of which could allow for remote code execution. An attacker can exploit these issues by sending maliciously crafted input or a specially crafted malicious JSON payload. The details of these vulnerabilities are as follows:

  • A remote code execution vulnerability exists because the REST Plugin utilizes Jackson JSON library for data binding. (CVE-2017-7525)
  • A denial of service vulnerability exists due to an outdated JSON-lib library utilized by a REST plugin. (CVE-2017-15707)

Successful exploitation of the most severe of these vulnerabilities could result in 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. If this application has been configured to have fewer user rights on the system, exploitation of the most severe of these vulnerabilities could have less impact than if it was configured with administrative rights.

Actions: 
  • Verify no unauthorized system modifications have occurred on the system before applying the patch.
  • After appropriate testing, immediately upgrade to one of the non-impacted versions of Apache Struts (2.5.14.1).
  • 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.