cbcvebase.
CVE-2017-5638
published 2017-03-11

CVE-2017-5638: The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation…

PriorityP197critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
KEVITWEXPLOITRansomwareInitial access
CISA Known Exploited Vulnerabilitydue 2022-05-03
Exploited in the wild
EPSS
100.00%
100.0th percentile
The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 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, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.

Affected

23 ranges
VendorProductVersion rangeFixed in
apachestruts>= 2.2.3 < 2.3.322.3.32
apachestruts>= 2.5.0 < 2.5.10.12.5.10.1
apache_software_foundationapache_struts
apache_software_foundationapache_struts
arubanetworksclearpass_policy_manager< 6.6.56.6.5
ciscoproducts
hpserver_automation
hpserver_automation
hpserver_automation
hpserver_automation
hpserver_automation
ibmstorwize_v3500_firmware
ibmstorwize_v3500_firmware
ibmstorwize_v5000_firmware
ibmstorwize_v5000_firmware
ibmstorwize_v7000_firmware
ibmstorwize_v7000_firmware
lenovostorage_v5030_firmware
lenovostorage_v5030_firmware
oracleweblogic_server
oracleweblogic_server
oracleweblogic_server
oracleweblogic_server

Detection & IOCsextracted from sources · hover to see the quote

command#cmd=
  • Detect exploitation attempts by inspecting HTTP Content-Type, Content-Disposition, and Content-Length headers for OGNL expressions (e.g., #cmd=, #context[...]) sent to Struts endpoints (.action, .do).
  • Authentication is not required to exploit this flaw; treat all unauthenticated requests with OGNL expressions in Content-Type headers as high-priority alerts.
  • The detection method sends a crafted Content-Type header with an OGNL math expression; a correct computed answer (e.g., 16256160 for 3195*5088) returned in the HTTP response header confirms the server is vulnerable.
  • Post-exploitation, threat actors have been observed downloading Monero cryptocurrency miners from a single malicious domain; monitor for outbound connections to unknown domains following Struts exploitation and for miner processes.
  • ·Affected versions are Apache Struts 2.3.5–2.3.31 and 2.5–2.5.10; versions 2.3.32 and 2.5.10.1 are patched. Scans should target the specific vulnerable version range.
  • ·Nessus remote plugin 97610 depends on webmirror crawling to discover target URLs; if the web app uses non-default paths or complex authentication, the crawler may miss vulnerable endpoints and manual URL specification is required.
  • ·Local authenticated plugin 97576 only runs when the Nessus scan Accuracy setting is configured to 'Show potential false alarms'; ensure this setting is enabled for authenticated scans.
  • ·Qualys VM QID 11771 is most effective when form-based authentication is not required and default Struts .action/.do paths are used; for non-default paths or complex auth, WAS QID 150173 should be used instead.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.010.0CRITICALAV:N/AC:L/Au:N/C:C/I:C/A:C
vulncheck9.8CRITICAL
cisa9.8CRITICAL
vendor_cisco9.8CRITICAL
vendor_redhat9.8CRITICAL
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.