CVE-2017-5638: Apache Struts vulnerable to remote arbitrary command execution due to improper input validation

CVE-2017-5638 · Severity: critical · CVSS 3 · Exploited in the wild · Published 2018-10-18

The Jakarta Multipart parser in Apache Struts 2 fails to properly handle exceptions and error messages during file uploads. Remote attackers can exploit this by sending crafted Content-Type, Content-Disposition, or Content-Length HTTP headers to execute arbitrary commands.

Technologies: Apache Struts, org.apache.struts:struts2-core (Maven). Vendors: Apache, Maven.

Quick answers

Is CVE-2017-5638 exploited in the wild?
Yes. CVE-2017-5638 is known to be exploited in the wild, first recorded on 3 November 2021. Treat it as urgent.
How severe is CVE-2017-5638?
Critical severity, with a CVSS score of 3, published 18 October 2018.
Which products and versions are affected?
org.apache.struts:struts2-core (Maven) ECOSYSTEM:introduced=2.3.0,fixed=2.3.32.
Is there a fix for CVE-2017-5638?
Yes. org.apache.struts:struts2-core (Maven): upgrade to 2.3.32 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2017-5638 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2017-5638?
Check whether you run Apache Struts or org.apache.struts:struts2-core (Maven) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • org.apache.struts:struts2-core (Maven): upgrade to 2.3.32 or later
    # set org.apache.struts:struts2-core to 2.3.32 in your pom.xml or build.gradle

Affected products

  • Apache Struts 2 2.3.x before 2.3.32, 2.5.x before 2.5.10.1

Identifiers

  • CVE-2017-5638
  • GHSA-j77q-2qqg-6989

Timeline

  • 2017-03: exploited: Exploited in the wild with a Content-Type header containing a #cmd= string.
  • 2021-11-03: kev added: Added to CISA Known Exploited Vulnerabilities Catalog.

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.