---
id: "CVE-2017-5638"
kind: "vulnerability"
aliases: ["CVE-2017-5638"]
title: "Apache Struts: Apache Struts Remote Code Execution Vulnerability"
severity: "critical"
cvss: 10.0
epss: 0.99999
exploited: true
status: "open"
category: "package"
products: [{"name": "Apache Struts", "fixed": [], "affected": "", "ecosystem": "vendor"}]
ecosystems: ["vendor"]
tags: ["apache-struts", "exploited", "java", "package", "ransomware", "self-hosted", "struts"]
not_affected_if: ["jakarta-multipart-disabled", "no-struts-usage"]
published_at: "2017-03-11T02:59:00+00:00"
first_seen_at: "2026-10-23T19:11:53+00:00"
updated_at: "2026-10-23T21:57:35+00:00"
sources: [{"source": "kev", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2017-5638", "first_seen_at": "2026-10-23T19:11:53+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2017-5638", "first_seen_at": "2026-10-23T19:13:44+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2017-5638", "first_seen_at": "2026-10-23T21:57:35+00:00"}]
---

# Apache Struts: Apache Struts Remote Code Execution Vulnerability

Apache Struts's Jakarta Multipart parser mishandles a malicious Content-Type header on file uploads, letting an attacker run code on the server. CISA lists it as actively exploited, and ransomware use is tagged.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- vendor:Apache Struts affected ? fixed ?

## Fix

Upgrade Apache Struts to a fixed release per vendor instructions (version not stated in sources).
Sources do not name the fixed version.

## Timeline

- 2026-10-23T19:11:53+00:00 kev https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2017-5638
- 2026-10-23T19:13:44+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2017-5638
- 2026-10-23T21:57:35+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2017-5638

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
