CVE-2017-5638
CVE-2017-5638 is a security flaw in Apache Struts, a framework for building Java web applications. Opening a booby-trapped file can let an attacker run their own code through Apache Struts. The US Cybersecurity and Infrastructure Security Agency (CISA) added it to its catalog of flaws known to be used in attacks on 3 Nov 2021, and says ransomware gangs have used it.[1]
Apache Struts is business software or equipment. Most families won’t have it, but attackers break into it to get inside companies, and from there to what those companies hold about their customers, patients and staff. Apache has published a fix or advice.
Description
CISA calls it a remote code execution in Apache Struts. In its words: “Apache Struts Jakarta Multipart parser allows for malicious file upload using the Content-Type value, leading to remote code execution.”[1]
The CVE record adds: “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.”[2]
The underlying weakness is improper input validation (CWE-20), in MITRE’s list of common software weaknesses.
It scores 9.8 out of 10 on the Common Vulnerability Scoring System, which rates it critical, scored by NVD using CVSS 3.1.[2]
Affected versions
NVD’s record doesn’t list version ranges for it; Apache’s advisory has them[3]. CISA names the product as Apache Struts.
Most families won’t have Apache Struts; it’s for whoever looks after IT at work.
Exploitation
CISA added it to its catalog of known exploited vulnerabilities on 3 Nov 2021, 1,698 days after it was made public. CISA lists a flaw only when it has reliable evidence of it being exploited, and gave US federal agencies until 3 May 2022 to fix it.[1] CISA says ransomware gangs have used it.
FIRST’s Exploit Prediction Scoring System, which estimates how likely a flaw is to be used in attacks in the next 30 days from what it sees across the internet, puts it at over 99%. That’s in the top 1% of the flaws it scores.[4]
CISA assesses it as automatable: attackers can run it against many targets at once.
CISA doesn’t say who was attacked, or how.
Fix
Apache has published a fix or advice.[3] CISA’s required action: “Apply updates per vendor instructions.”[1]
- Check whether you use it.Apache Struts is business software or equipment, so most families won’t have it. If you run a business, or work from home on company equipment, ask whoever looks after your IT.
- Send this page to your IT person.Ask them to confirm it’s fixed, or not in use. CISA gave US government agencies until 3 May 2022 to fix it.
- If it can’t be fixed, take it offline.CISA’s advice when there’s no fix is to stop using the product, or take it off the internet, until there is one.
You can’t fix someone else’s server, but you can watch for what follows a break-in like this: a breach notice, a password reset you didn’t ask for, or a scam message that knows things it shouldn’t. HARD watches for those for you and your family.
Timeline
| Date | Event |
|---|---|
| The flaw is made public in the National Vulnerability Database, with a severity score of 9.8.[2] | |
| CISA adds it to its catalog of flaws known to be used in attacks, noting that ransomware gangs have used it.[1] | |
| CISA’s deadline for US government agencies to fix it.[1] | |
| FIRST puts the odds of it being used in attacks in the next 30 days at over 99%.[4] |
See also
Other Apache Struts flaws
- CVE-2016-3081: command injection ·
- CVE-2013-2251: improper input validation ·
- CVE-2020-17530: remote code execution ·
- CVE-2018-11776: remote code execution ·
- CVE-2017-9805: deserialization of untrusted data ·
Other Apache flaws
- CVE-2026-34486, Apache Tomcat: missing encryption of sensitive data ·
- CVE-2026-34197, Apache ActiveMQ: improper input validation ·
- CVE-2024-38475, Apache HTTP Server: improper escaping of output ·
- CVE-2025-24813, Apache Tomcat: path equivalence ·
- CVE-2024-45195, Apache OFBiz: forced browsing ·
Other improper input validation flaws
- CVE-2026-93952, Arista VeloCloud Orchestrator: improper input validation ·
- CVE-2019-1068, Microsoft SQL Server: remote code execution ·
- CVE-2026-12569, PTC Windchill and FlexPLM: improper input validation ·
- CVE-2026-34910, Ubiquiti UniFi OS: improper input validation ·
- CVE-2026-6973, Ivanti Endpoint Manager Mobile (EPMM): improper input validation ·
Added the same day
- CVE-2021-42258, BQE BillQuick Web Suite: SQL injection ·
- CVE-2021-42013, Apache HTTP Server: path traversal ·
- CVE-2021-41773, Apache HTTP Server: path traversal ·
- CVE-2021-40539, Zoho ManageEngine: aDSelfService plus authentication bypass ·
- CVE-2021-40444, Microsoft MSHTML: remote code execution ·
Every Apache flaw on CISA’s list · Everything added in November 2021
References
- ^ Cybersecurity and Infrastructure Security Agency. “Apache Struts Remote Code Execution Vulnerability”. Known Exploited Vulnerabilities Catalog, added 3 Nov 2021.
- ^ National Institute of Standards and Technology. “CVE-2017-5638 Detail”. National Vulnerability Database, published 11 Mar 2017.
- ^ Apache. Advisories and fixes: cwiki.apache.org, cwiki.apache.org, struts.apache.org, struts.apache.org.
- ^ FIRST. “Exploit Prediction Scoring System”. EPSS 1.000, percentile 100.0, 31 Oct 2026.
- CVE Program. “CVE-2017-5638”. The official CVE record.
This article is built from CISA’s catalog (version 2026.10.30), NVD’s record and FIRST’s scores, kept in HARD’s database and checked every morning. The plain English is HARD’s.

