Remote Command Execution in Apache Struts 2 due to Improper Error Handling
CVE-2017-5638

9.8CRITICAL

Key Information:

Vendor
Apache
Vendor
CVE Published:
11 March 2017

Badges

💰 Ransomware👾 Exploit Exists🟡 Public PoC🟣 EPSS 94%🦅 CISA Reported

Summary

The Jakarta Multipart parser in Apache Struts 2 is flawed in handling exceptions and generating error messages during file uploads. This vulnerability exposes the application to potential remote command execution by allowing attackers to send specially crafted HTTP headers—namely Content-Type, Content-Disposition, or Content-Length. This flaw was actively exploited in March 2017, whereby an attacker could inject commands via a manipulated Content-Type header, specifically using a '#cmd=' string. It is essential for users of affected versions to apply the necessary patches and updates to safeguard against such attacks.

CISA Reported

CISA provides regional cyber and physical services to support security and resilience across the United States. CISA monitor the most dangerious vulnerabilities and have identifed as being exploited and is known by the CISA as enabling ransomware campaigns.

The CISA's recommendation is: Apply updates per vendor instructions.

Affected Version(s)

Apache Struts 2.3.x before 2.3.32

Apache Struts 2.5.x before 2.5.10.1

Exploit Proof of Concept (PoC)

PoC code is written by security researchers to demonstrate the vulnerability can be exploited. PoC code is also a key component for weaponization which could lead to ransomware.

References

EPSS Score

94% chance of being exploited in the next 30 days.

CVSS V3.1

Score:
9.8
Severity:
CRITICAL
Confidentiality:
High
Integrity:
High
Availability:
High
Attack Vector:
Network
Attack Complexity:
Low
Privileges Required:
None
User Interaction:
None
Scope:
Unchanged

Timeline

  • 🟡

    Public PoC available

  • 💰

    Used in Ransomware

  • 👾

    Exploit known to exist

  • 🦅

    CISA Reported

  • Vulnerability published

  • Vulnerability Reserved

.