PT-2017-2104 · Apache+3 · Apache Struts+3

Published

2017-03-06

·

Updated

2026-03-10

·

CVE-2017-5638

CVSS v2.0

10

Critical

VectorAV:N/AC:L/Au:N/C:C/I:C/A:C
Name of the Vulnerable Software and Affected Versions Apache Struts versions 2.3.x through 2.3.31 Apache Struts versions 2.5.x through 2.5.10
Description The Jakarta Multipart parser in Apache Struts 2 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header. This issue was exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string. The vulnerability can be used to execute Java code of the attacker's choice on systems that have a vulnerable version of Apache Struts 2 without prior authentication.
Recommendations For Apache Struts versions 2.3.x through 2.3.31, update to version 2.3.32 or later. For Apache Struts versions 2.5.x through 2.5.10, update to version 2.5.10.1 or later. As a temporary workaround, consider disabling the Jakarta Multipart parser until a patch is available. Restrict access to the Content-Type, Content-Disposition, and Content-Length HTTP headers to minimize the risk of exploitation.

Exploit

Fix

RCE

Improper Handling of Exceptional Conditions

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

APACHESTRUTSCVE20175638
BDU:2017-01273
BDU:2017-02060
CVE-2017-5638
GHSA-J77Q-2QQG-6989

Affected Products

Apache Struts
Bamboo
Huawei Vrp
Vmware Vcenter