Apache Struts Remote Code Execution Vulnerability
Apache Software Foundation — Apache Struts
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.
9.8
100.0%
Vector breakdown
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Published
- Mar 11, 2017
- Modified
- Jun 17, 2026
- Added to KEV
- Nov 3, 2021
- Federal patch due
- May 3, 2022
CISA required action
Apply updates per vendor instructions.
Weakness classification
Affected packages
Proof-of-concept & exploitation references
8 foundWeaponization
Public repositories whose name or description references CVE-2017-5638, found via a live GitHub search at request time. These are community-sourced signals, not a verified working exploit - cross-check each one before relying on it, and treat higher star counts and recent activity as (weak) corroboration, not proof.
- mazen160/struts-pwn★ 442
An exploit for Apache Struts CVE-2017-5638
updated Jul 29, 2026
- Flyteas/Struts2-045-Exp★ 61
Struts2 S2-045(CVE-2017-5638)Exp with GUI
updated May 29, 2026
- immunio/apache-struts2-CVE-2017-5638★ 35
Demo Application and Exploit
updated Aug 12, 2024
- jas502n/S2-045-EXP-POC-TOOLS★ 25
S2-045 漏洞 POC-TOOLS CVE-2017-5638
updated May 29, 2026
- PolarisLab/S2-045★ 23
Struts2 S2-045(CVE-2017-5638)Vulnerability environment - http://www.mottoin.com/97954.html
updated Jul 29, 2026
- xsscx/cve-2017-5638★ 22
Example PoC Code for CVE-2017-5638 | Apache Struts Exploit
updated Aug 13, 2026
- jas502n/st2-046-poc★ 21
st2-046-poc CVE-2017-5638
updated Dec 30, 2024
- win3zz/CVE-2017-5638★ 16
Apache Struts 2.3.5 < 2.3.31 / 2.5 < 2.5.10 - Remote Code Execution - Shell Script
updated Jul 8, 2025
References
- blog.talosintelligence.com
- blog.trendmicro.com
- arubanetworks.com
- eweek.com
- oracle.com
- securityfocus.com
- securitytracker.com
- arstechnica.com
- cwiki.apache.org
- cwiki.apache.org
- exploit-db.com
- git1-us-west.apache.org
- git1-us-west.apache.org
- github.com
- github.com
- h20566.www2.hpe.com
- h20566.www2.hpe.com
- h20566.www2.hpe.com
- isc.sans.edu
- lists.apache.org
Frequently asked questions
What is 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 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.
How severe is CVE-2017-5638?
CVE-2017-5638 has a CVSS base score of 9.8 out of 10 (CVSS 3.1).
Is CVE-2017-5638 actively exploited in the wild?
Yes. CVE-2017-5638 is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, added Nov 3, 2021, meaning CISA has confirmed evidence of active exploitation. It is also flagged as used in ransomware campaigns.
What is the EPSS score for CVE-2017-5638?
100.0% - meaning FIRST.org's EPSS model estimates a 100.0% probability this vulnerability will be exploited in the wild within 30 days (100% percentile among all scored CVEs).
Is there exploit tooling available for CVE-2017-5638?
Yes - a public Nuclei template referencing CVE-2017-5638 exist in public repositories we checked. We also found 8 public GitHub repositories referencing this CVE.
What type of vulnerability is CVE-2017-5638?
CVE-2017-5638 is classified under CWE-755 (CWE-755 Improper Handling of Exceptional Conditions).
Cross-checked against
Impactr finds and proves whether CVE-2017-5638 - or flaws like it - are actually reachable in your own web apps and APIs, with a reproducible exploit as evidence.
Join the waitlist