CVE-2017-5638

ENISA EUVD: EUVD-2018-0625 ↗
Exploited in the Wild ✓ Confirmed 0-Day
Triaged: March 5, 2026 8 articles Published: 2017-03-11

EPSS Score

Source: FIRST.org · 2026-05-23
94.27%
probability
This CVE has a 94.27% probability of being exploited in the next 30 days.
0% Top 99.9th percentile of all CVEs 100%

CVSS v3.1

Source: VulnerabilityLookup (CIRCL)
9.8
CRITICAL
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

CVSS v2 (legacy)

10.0
HIGH
Access Vector
Network
Access Complexity
Low
Authentication
None
Confidentiality
Complete
Integrity
Complete
Availability
Complete
AV:N/AC:L/Au:N/C:C/I:C/A:C

Description

VulnerabilityLookup (CNA)
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 Products

Apache Software Foundation
Apache Struts
2.3.x before 2.3.32 2.5.x before 2.5.10.1

Exploits & PoC

mazen160/struts-pwn

An exploit for Apache Struts CVE-2017-5638

442 2018-05-21
Flyteas/Struts2-045-Exp

Struts2 S2-045(CVE-2017-5638)Exp with GUI

60 2017-03-13
immunio/apache-struts2-CVE-2017-5638

Demo Application and Exploit

35 2017-03-13
PolarisLab/S2-045

Struts2 S2-045(CVE-2017-5638)Vulnerability environment - http://www.mottoin.com/97954.html

24 2017-03-07
jas502n/S2-045-EXP-POC-TOOLS

S2-045 漏洞 POC-TOOLS CVE-2017-5638

24 2021-08-18
jas502n/st2-046-poc

st2-046-poc CVE-2017-5638

21 2018-08-17
xsscx/cve-2017-5638

Example PoC Code for CVE-2017-5638 | Apache Struts Exploit

20 2017-03-12
ret2jazzy/Struts-Apache-ExploitPack

These are just some script which you can use to detect and exploit the Apache Struts Vulnerability (CVE-2017-5638)

16 2017-03-12
win3zz/CVE-2017-5638

Apache Struts 2.3.5 < 2.3.31 / 2.5 < 2.5.10 - Remote Code Execution - Shell Script

16 2018-05-13
jrrdev/cve-2017-5638

cve-2017-5638 Vulnerable site sample

14 2017-04-04
Iletee/struts2-rce

Exploitable target to CVE-2017-5638

11 2026-04-15
tahmed11/strutsy

Strutsy - Mass exploitation of Apache Struts (CVE-2017-5638) vulnerability

10 2018-09-01
initconf/CVE-2017-5638_struts

detection for Apache Struts recon and compromise

8 2017-09-15
payatu/CVE-2017-5638

Apache Struts 2.0 RCE vulnerability - Allows an attacker to inject OS commands into a web application through the content-type header

8 2017-05-05
0x00-0x00/CVE-2017-5638

Struts02 s2-045 exploit program

6 2018-02-15
falcon-lnhg/StrutsShell

Apache Struts (CVE-2017-5638) Shell

3 2017-04-04
R4v3nBl4ck/Apache-Struts-2-CVE-2017-5638-Exploit-

Exploit created by: R4v3nBl4ck end Pacman

3 2017-07-24
Nithylesh/web-application-firewall-

This project demonstrates a Web Application Firewall (WAF) simulation using Flask and a vulnerability checker for CVE-2017-5638. The WAF middleware bl

3 2024-07-11
iampetru/PoC-CVE-2017-5638

Apache Struts2 CVE-2017-5638 (Safe Educational Demo)

3 2025-08-25
aljazceru/CVE-2017-5638-Apache-Struts2

Tweaking original PoC (https://github.com/rapid7/metasploit-framework/issues/8064) to work on self-signed certificates

2 2017-03-11
lolwaleet/ExpStruts

A php based exploiter for CVE-2017-5638.

2 2017-03-12
opt9/Strutshock

Struts2 RCE CVE-2017-5638 non-intrusive check shell script

2 2017-03-16
opt9/Strutscli

Struts2 RCE CVE-2017-5638 CLI shell

2 2017-03-28
Greynad/struts2-jakarta-inject

Golang exploit for CVE-2017-5638

2 2018-03-19
andypitcher/check_struts

Apache Struts version analyzer (Ansible) based on CVE-2017-5638

2 2018-10-29
Masahiro-Yamada/OgnlContentTypeRejectorValve

This is Valve for Tomcat7 to block Struts 2 Remote Code Execution vulnerability (CVE-2017-5638)

1 2017-03-13
oktavianto/CVE-2017-5638-Apache-Struts2

Example PHP Exploiter for CVE-2017-5638

1 2017-03-20
KarzsGHR/S2-046_S2-045_POC

S2-046|S2-045: Struts 2 Remote Code Execution vulnerability(CVE-2017-5638)

1 2017-04-26
jpacora/Struts2Shell

An exploit (and library) for CVE-2017-5638 - Apache Struts2 S2-045 bug.

1 2017-06-03
1 2017-06-08
sighup1/cybersecurity-struts2

Struts2 Application Vulnerable to CVE-2017-5638. Explains how the exploit of the vulnerability works in relation to OGNL and the JakartaMultiPart pars

1 2019-01-23
m3ssap0/struts2_cve-2017-5638

This is a sort of Java porting of the Python exploit at: https://www.exploit-db.com/exploits/41570/.

1 2018-03-10
ggolawski/struts-rce

Apache Struts CVE-2017-5638 RCE exploitation

1 2018-03-20
ludy-dev/XworkStruts-RCE

(CVE-2017-5638) XworkStruts RCE Vuln test script

1 2020-11-07
jongmartinez/CVE-2017-5638

PoC for CVE: 2017-5638 - Apache Struts2 S2-045

1 2020-12-06
jptr218/struts_hack

An implementation of CVE-2017-5638

1 2021-08-20
kloutkake/CVE-2017-5638-PoC

This repository provides a PoC for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2, exploitable via a crafted Content-Type HTT

1 2024-09-12
haxerr9/CVE-2017-5638

CVE-2017-5638 Exploit Rewritten In Python By haxerr9

1 2025-06-08
btamburi/strutszeiro

Telegram Bot to manage botnets created with struts vulnerability(CVE-2017-5638)

0 2017-03-10
sjitech/test_struts2_vulnerability_CVE-2017-5638

test struts2 vulnerability CVE-2017-5638 in Mac OS X

0 2017-03-13
random-robbie/CVE-2017-5638

CVE: 2017-5638 in different formats

0 2017-03-16
gsfish/S2-Reaper

CVE-2017-5638

0 2017-03-30
0 2017-06-01
SpiderMate/Stutsfi

An exploit for CVE-2017-5638 Remote Code Execution (RCE) Vulnerability in Apache Struts 2

0 2018-01-13
eeehit/CVE-2017-5638

CVE-2017-5638 Test environment

0 2017-06-13
invisiblethreat/strutser

Check for Struts Vulnerability CVE-2017-5638

0 2017-09-28
c002/Apache-Struts

An exploit for Apache Struts CVE-2017-5638

0 2017-05-28
donaldashdown/Common-Vulnerability-and-Exploit

This is the Apache Struts CVE-2017-5638 struts 2 vulnerability. The same CVE that resulted in the equifax database breach.

0 2017-11-11
cafnet/apache-struts-v2-CVE-2017-5638

Working POC for CVE 2017-5638

0 2018-01-28
colorblindpentester/CVE-2017-5638

CVE-2017-5638 (PoC Exploits)

0 2019-03-22
injcristianrojas/cve-2017-5638

Demo app of THAT data broker's security breach

0 2022-04-22
sonatype-workshops/struts2-rce

Exploitable target to CVE-2017-5638

0 2022-08-18
testpilot031/vulnerability_struts-2.3.31

Build the struts-2.3.31 (CVE-2017-5638) environment

0 2022-02-15
readloud/CVE-2017-5638

This script is intended to validate Apache Struts 2 vulnerability (CVE-2017-5638), AKA Struts-Shock.

0 2022-02-28
mfdev-solution/Exploit-CVE-2017-5638

this exemple of application permet to test the vunerability CVE_2017-5638

0 2022-12-21
mritunjay-k/CVE-2017-5638

An exploit for CVE-2017-5638

0 2023-03-02
FredBrave/CVE-2017-5638-ApacheStruts2.3.5

A exploit for CVE-2017-5638. This exploit works on versions 2.3.5-2.3.31 and 2.5 – 2.5.10

0 2023-05-10
Xernary/CVE-2017-5638-POC

Proof of concept of CVE-2017-5638 including the whole setup of the Apache vulnerable server

0 2025-02-06
timothyjxhn/DeliberatelyVulnerableWebApp

A Deliberately Vulnerable Web Application built on Struts 2 (CVE-2017-5638) and Log4J (CVE-2021-44228) for testing and demonstration of OWASP Top 10 W

0 2025-04-15
joidiego/Detection-struts-cve-2017-5638-detector

Real-time anomaly detection system for Apache Struts CVE-2017-5638 exploit using streaming analytics, 3-gram byte analysis, and Count-Min Sketch. Dete

0 2025-07-30
kaylertee/Computer-Security-Equifax-2017

A hands-on simulation of CVE-2017-5638 (Apache Struts2 RCE), showcasing exploit reproduction, OS-level command execution, and mitigations such as inpu

0 2025-09-19
0 2025-09-25
soufiane-benchahyd/vulhub-struts2

A practical lab demonstrating the exploitation of a critical Remote Code Execution (RCE) vulnerability in Apache Struts2 (CVE-2017-5638) using Vulhub

0 2026-02-20
AIPEACS/SC3010-Computer-Security

Using Struts2 and PowerShell to recreate CVE-2017-5638 OGNL Injection vulnerability.

0 2026-04-27
Majaktech/apache-struts-cve-2017-5638-project

Attack and Defense course project focused on CVE-2017-5638 analysis, exploitation, and mitigation.

0 2026-05-18
84 repos — triés par ⭐ Rechercher sur GitHub ↗

Signal Intelligence

Confidence
95%
EPSS 94.27%
CVSS v3.1 9.8
Mentions 8
Last Seen Apr 06, 2017

CNA Information

CNA Assigner
apache

Analyst Note

CVE-2017-5638 is a confirmed zero-day: the official description explicitly states it was 'exploited in the wild in March 2017,' which coincides with the CVE publication date (2017-03-11). This is a critical RCE in Apache Struts with CVSS 9.8, and exploitation occurred immediately upon disclosure.

Threat Actors 16

MuddyWater
apt_group Information theft and espionage 🇮🇷 IR
Turla Group
apt_group Information theft and espionage Russian Federation
Void Arachne
apt_group Information theft and espionage 🇨🇳 CN
APT 29
apt_group Information theft and espionage 🇷🇺 RU
APT 28
apt_group Information theft and espionage 🇷🇺 RU
Prophet Spider
apt_group UNKNOWN
Careto
apt_group Information theft and espionage 🇪🇸 ES
Infy
apt_group Information theft and espionage 🇮🇷 IR
GhostR
apt_group 🇨🇳 CN
Comment Crew
apt_group Information theft and espionage 🇨🇳 CN
TAG-28
apt_group Information theft and espionage 🇨🇳 CN
Rocke
apt_group 🇨🇳 CN
Bitwise Spider
apt_group Financial gain 🇷🇺 RU
Operation Red Signature
apt_group Information theft and espionage 🇨🇳 CN
Mana Team
apt_group 🇨🇳 CN
Scarred Manticore
apt_group Information theft and espionage 🇮🇷 IR

Triage Info

Decided atMar 05, 2026
Published DateMar 11, 2017