SA145 : Apache Struts 2 RCE Vulnerability

1400

04 May 2021

15 March 2017

CLOSED

High

CVSS v2: 10.0

SUMMARY

Symantec Network Protection products using affected versions of Apache Struts 2 are susceptible to a remote code execution vulnerability.  A remote attacker can exploit this vulnerability to execute arbitrary code with the privileges of the web application server.

AFFECTED PRODUCTS 

No Symantec Network Protection products are vulnerable to CVE-2017-5638.

ADDITIONAL PRODUCT INFORMATION 

The following products are not vulnerable:
Advanced Secure Gateway
Android Mobile Agent
AuthConnector
BCAAA
Symantec HSM Agent for the Luna SP
CacheFlow
Client Connector
Cloud Data Protection for Oracle CRM On Demand
Cloud Data Protection for Oracle Field Service Cloud
Cloud Data Protection for Oracle Sales Cloud
Cloud Data Protection for Salesforce
Cloud Data Protection for Salesforce Analytics
Cloud Data Protection for ServiceNow
Cloud Data Protection Integration Server
Cloud Data Protection Communication Server
Cloud Data Protection Policy Builder
Content Analysis
Director
General Auth Connector Login Application
IntelligenceCenter
IntelligenceCenter Data Collector
K9
Mail Threat Defense
Malware Analysis
Management Center
Norman Shark Industrial Control System Protection
Norman Shark Network Protection
Norman Shark SCADA Protection
PacketShaper
PacketShaper S-Series
PolicyCenter
PolicyCenter S-Series
ProxyAV
ProxyAV ConLog and ConLogXP
ProxyClient
ProxySG
Reporter
Security Analytics
SSL Visibility
Unified Agent
X-Series XOS

Symantec no longer provides vulnerability information for the following products:

DLP
Please, contact Digital Guardian technical support regarding vulnerability information for DLP.

ISSUES 

CVE-2017-5638
Severity / CVSSv2 High / 10.0 (AV:N/AC:L/Au:N/C:C/I:C/A:C)
References SecurityFocus: BID 96729 / NVD: CVE-2017-5638
Impact Code execution
Description The Jakarta Multipart parser in Apache Struts 2 does not handle correctly file upload HTTP requests with malicious Content-Type, Content-Disposition, and Content-Length headers.  A remote attacker can send a file upload request with crafted headers and execute arbitrary code on the target system with the privileges of the web application server.

 

MITIGATION 

Blue Coat's ProxySG appliance can protect network servers by blocking the HTTP requests with malicious headers needed to exploit this vulnerability.

ProxySG 6.6 and 6.7 web application firewall (WAF) deployments block malicious HTTP requests exploiting all known attack vectors.  The WAF Command Injection and Code Injection engines must be configured to scan HTTP request headers.  For more information, see the Symantec Connect blog article on the Symantec WAF solution and CVE-2017-5638.

ProxySG 6.5, 6.6, and 6.7 non-WAF deployments can block malicious HTTP requests exploiting the Content-Type and Content-Length attack vectors, but not Content-Disposition vectors. All ProxySG 6.5, 6.6, and 6.7 releases can block requests with malicious Content-Type headers using the following CPL syntax:

<Proxy>
request.header.Content-Type.substring="%{(#" force_exception(invalid_request)

ProxySG 6.5.9.2 and later, 6.6.4.1 and later, and 6.7 releases block HTTP requests with malicious Content-Length headers without additional policy needed.

REFERENCES 

Symantec WAF and Remote Code Execution & Command Injection in Apache Struts 2 - https://www.symantec.com/connect/blogs/symantec-waf-and-remote-code-execution-command-injection-apache-struts-2
Apache Security Bulletin SB-045 - https://cwiki.apache.org/confluence/display/WW/S2-045
Apache Security Bulletin SB-046 - https://cwiki.apache.org/confluence/display/WW/S2-046

REVISION 

2017-06-05 Included additional attack vectors addressed in Apache Securiy Bulletin SB-046.
2017-03-16 SA status changed to Final.
2017-03-15 initial public release