CVE-2017-5638

CRITICAL KEV RANSOMWARE NUCLEI LAB

Apache Struts 2.3.x < 2.3.32 and 2.5.x < 2.5.10.1 - Remote Code Execution via Jakarta Multipart Parser

Title source: llm
STIX 2.1

Exploitation Summary

CVE-2017-5638 is actively exploited and listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, added November 3, 2021, with confirmed use in ransomware campaigns. EIP tracks 98 public exploits from researchers including Metasploit, Vex Woo, qazbnm456, including a Metasploit module spec/lib/msf/core/mcp/tools/vulnerability_info_spec. A Nuclei detection template is also available.

AI-analyzed exploit summary This Metasploit module exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts via malicious Content-Type header manipulation. It supports both command execution and payload delivery for Unix and Windows systems.

Description

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.

Exploits (98)

exploitdb WORKING POC VERIFIED
by Metasploit · rubyremotemultiple
https://www.exploit-db.com/exploits/41614

This Metasploit module exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts via malicious Content-Type header manipulation. It supports both command execution and payload delivery for Unix and Windows systems.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Network access to vulnerable Struts application · Target application must be running a vulnerable version
devstral-2 · analyzed Feb 16, 2026 Full analysis →
exploitdb WORKING POC VERIFIED
by Vex Woo · pythonwebappslinux
https://www.exploit-db.com/exploits/41570

This exploit leverages CVE-2017-5638, a remote code execution vulnerability in Apache Struts2 due to improper handling of Content-Type headers. The payload uses OGNL expression injection to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
github WORKING POC 3,480 stars
by qazbnm456 · poc
https://github.com/qazbnm456/awesome-cve-poc/tree/master/CVE-2017-5638.md

This repository contains a functional Python exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target system running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 27, 2026 Full analysis →
nomisec WORKING POC 440 stars
by mazen160 · remote
https://github.com/mazen160/struts-pwn

This repository contains a functional exploit for CVE-2017-5638, an Apache Struts2 RCE vulnerability. The exploit leverages OGNL injection to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 61 stars
by Flyteas · remote
https://github.com/Flyteas/Struts2-045-Exp

This repository contains a functional exploit for CVE-2017-5638 (Struts2 S2-045), which allows remote command execution via a maliciously crafted Content-Type header. The tool includes features for command execution, file upload, and obtaining the target's physical path.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 35 stars
by immunio · remote
https://github.com/immunio/apache-struts2-CVE-2017-5638

This repository contains multiple Python scripts demonstrating the exploitation of CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploits leverage OGNL injection via malformed Content-Type headers to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 24 stars
by jas502n · remote
https://github.com/jas502n/S2-045-EXP-POC-TOOLS

This repository contains a working proof-of-concept exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages a malicious Content-Type header to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 · Target must be using the Jakarta Multipart parser
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec STUB 24 stars
by PolarisLab · poc
https://github.com/PolarisLab/S2-045

This repository contains only a README file referencing the Struts2 S2-045 vulnerability (CVE-2017-5638) without any actual exploit code or technical details. It appears to be a placeholder or stub for a vulnerability environment setup.

Classification
Stub 90%
Attack Type
Other
Complexity
Trivial
Reliability
Theoretical
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: none
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 21 stars
by jas502n · remote
https://github.com/jas502n/st2-046-poc

This is a working proof-of-concept exploit for CVE-2017-5638, targeting a null-byte variant in the Content-Disposition header of Apache Struts2. It leverages OGNL injection to achieve remote code execution (RCE) by crafting a malicious payload in the filename field.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions before 2.3.32 and 2.5.10.1)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Target must have the file upload functionality exposed
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 19 stars
by xsscx · remote
https://github.com/xsscx/cve-2017-5638

This repository contains a Python-based PoC for CVE-2017-5638, a critical RCE vulnerability in Apache Struts 2. The exploit leverages OGNL injection via malformed Content-Type headers to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 16 stars
by win3zz · remote
https://github.com/win3zz/CVE-2017-5638

This repository contains a functional exploit for CVE-2017-5638, targeting Apache Struts 2.3.5 to 2.3.31 and 2.5 to 2.5.10. The exploit leverages incorrect exception handling in the Jakarta Multipart parser to execute arbitrary commands via crafted HTTP headers.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Target server running vulnerable Apache Struts version · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 16 stars
by ret2jazzy · remote
https://github.com/ret2jazzy/Struts-Apache-ExploitPack

This repository contains a functional exploit and scanner for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on vulnerable servers.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
github WORKING POC 14 stars
by xbl3 · poc
https://github.com/xbl3/awesome-cve-poc_qazbnm456/tree/master/CVE-2017-5638.md

This repository contains a functional Python exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target server running vulnerable Apache Struts2 version · Network access to the target server
devstral-2 · analyzed Feb 27, 2026 Full analysis →
nomisec WORKING POC 14 stars
by jrrdev · poc
https://github.com/jrrdev/cve-2017-5638

This repository contains a functional PoC for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 13 stars
by sUbc0ol · remote
https://github.com/sUbc0ol/Apache-Struts2-RCE-Exploit-v2-CVE-2017-5638

This is a Python-based exploit for CVE-2017-5638, targeting Apache Struts2 with an OGNL injection payload to achieve remote code execution. It automates the exploitation process by reading target URLs from a file and sending crafted HTTP requests.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: List of target URLs in a file · Network access to vulnerable Struts2 instances
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 11 stars
by Iletee · remote
https://github.com/Iletee/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Python · Docker · Maven · JDK · Vulnerable Apache Struts2 instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 10 stars
by tahmed11 · remote
https://github.com/tahmed11/strutsy

This repository contains a Python script that exploits CVE-2017-5638, a vulnerability in Apache Struts2 that allows remote command execution via malformed Content-Type headers. The script supports blind and time-based command injection techniques for both Windows and Linux platforms.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (2.3.5 through 2.3.31 and 2.5 through 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 application · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP 8 stars
by initconf · poc
https://github.com/initconf/CVE-2017-5638_struts

This repository contains a writeup and analysis of CVE-2017-5638, a Struts2 RCE vulnerability. It includes a Zeek script for detecting and tracking exploitation attempts, malware URLs, and compromise indicators.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Struts2 application exposed to the internet
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 7 stars
by payatu · remote
https://github.com/payatu/CVE-2017-5638

This repository contains a Python script that exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages a malformed Content-Type header to execute arbitrary OS commands on vulnerable servers, distinguishing between Linux and Windows targets.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 6 stars
by 0x00-0x00 · remote
https://github.com/0x00-0x00/CVE-2017-5638

This is a functional exploit for CVE-2017-5638 (Struts2 s2-045), leveraging a malicious Content-Type header to achieve remote code execution (RCE) via OGNL injection. The PoC sends a crafted payload to execute arbitrary commands on vulnerable Struts2 instances.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Network access to vulnerable Struts2 application · Exposed endpoint accepting malicious Content-Type header
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 3 stars
by iampetru · remote
https://github.com/iampetru/PoC-CVE-2017-5638

This PoC demonstrates CVE-2017-5638 by sending a crafted Content-Type header with an OGNL expression to test for vulnerability in Apache Struts2. It safely checks for the presence of a custom response header to confirm exploitation potential without executing malicious payloads.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (Jakarta Multipart Parser)
No auth needed
Prerequisites: Target running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 3 stars
by Nithylesh · remote
https://github.com/Nithylesh/web-application-firewall-

This repository contains a working PoC for CVE-2017-5638, an Apache Struts 2 RCE vulnerability. It includes a Flask-based WAF simulation and a script to check and exploit the vulnerability via OGNL injection.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 3 stars
by R4v3nBl4ck · remote
https://github.com/R4v3nBl4ck/Apache-Struts-2-CVE-2017-5638-Exploit-

This is a functional exploit for CVE-2017-5638, targeting Apache Struts 2. It leverages OGNL injection to achieve remote command execution (RCE) on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 3 stars
by falcon-lnhg · remote
https://github.com/falcon-lnhg/StrutsShell

This repository contains a Python-based interactive shell exploit for CVE-2017-5638, an Apache Struts2 RCE vulnerability. The PoC constructs an OGNL payload to execute arbitrary commands on the target system via a vulnerable Struts endpoint.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts endpoint · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by Kouf320 · poc
https://github.com/Kouf320/docker-lab-cve-2017-5638-cve-2021-41773

This repository contains functional exploit code for CVE-2017-5638 (Apache Struts2 S2-045) and CVE-2021-41773 (Apache HTTP Server path traversal). It includes scripts for reconnaissance, initial foothold, lateral movement, and remote code execution, demonstrating a full kill chain in a Docker-based lab environment.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (CVE-2017-5638), Apache HTTP Server 2.4.49 (CVE-2021-41773)
No auth needed
Prerequisites: Docker environment · Network access to vulnerable targets
devstral-2 · analyzed May 25, 2026 Full analysis →
nomisec SCANNER 2 stars
by andypitcher · poc
https://github.com/andypitcher/check_struts

This repository contains a bash script designed to scan for Apache Struts libraries on a system, identifying their versions and paths. It does not exploit CVE-2017-5638 but helps in assessing vulnerability exposure.

Classification
Scanner 100%
Attack Type
Info Leak
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts
No auth needed
Prerequisites: Access to the target system · Basic command execution privileges
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by Greynad · remote
https://github.com/Greynad/struts2-jakarta-inject

This is a functional exploit for CVE-2017-5638, leveraging OGNL injection in Apache Struts2 to achieve remote command execution. It supports both single command execution and a pseudo-interactive shell.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (Jakarta Multipart parser)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance with Jakarta Multipart parser plugin
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec STUB 2 stars
by opt9 · poc
https://github.com/opt9/Strutscli

The repository contains only a README with a placeholder usage example for a Struts exploit. No actual exploit code or technical details are provided.

Classification
Stub 30%
Attack Type
Other
Complexity
Trivial
Reliability
Theoretical
Target: Apache Struts (unspecified version)
No auth needed
Prerequisites: none specified
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec STUB 2 stars
by opt9 · remote
https://github.com/opt9/Strutshock

The repository contains only a README with a usage example for an exploit named 'Strutshock' targeting CVE-2017-5638, but no actual exploit code or technical details are provided.

Classification
Stub 30%
Attack Type
Rce
Complexity
Trivial
Reliability
Theoretical
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: target running vulnerable Apache Struts version
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by lolwaleet · poc
https://github.com/lolwaleet/ExpStruts

This repository contains a PHP-based mass exploiter for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages OGNL injection to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by aljazceru · remote
https://github.com/aljazceru/CVE-2017-5638-Apache-Struts2

This is a functional exploit for CVE-2017-5638, leveraging an OGNL injection vulnerability in Apache Struts2 to execute arbitrary commands. The payload constructs a malicious Content-Type header to trigger remote code execution.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by ACharaf06 · remote
https://github.com/ACharaf06/CVE-2017-5638-Attack-and-Defense

This repository contains a Docker-based lab demonstrating exploitation and defense against CVE-2017-5638 (Apache Struts2 S2-045). It includes a vulnerable Struts 2.3.31 application and a patched Struts 6.3.x application with WAF protection.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Docker · Docker Compose · Python 3 (optional) · curl (optional)
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by haxerr9 · remote
https://github.com/haxerr9/CVE-2017-5638

This is a Python-based exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It leverages OGNL injection via the Content-Type header to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by kloutkake · poc
https://github.com/kloutkake/CVE-2017-5638-PoC

This repository contains a functional Python-based PoC for CVE-2017-5638, a critical RCE vulnerability in Apache Struts 2. The exploit leverages OGNL expression injection via the Content-Type header to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 versions prior to 2.3.32 and 2.5.10.1
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by jptr218 · remote
https://github.com/jptr218/struts_hack

This repository contains a functional exploit for CVE-2017-5638, leveraging OGNL injection in Apache Struts 2 to achieve remote command execution. The PoC constructs a malicious HTTP request with an OGNL payload to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by jongmartinez · remote
https://github.com/jongmartinez/CVE-2017-5638

This is a functional exploit for CVE-2017-5638, leveraging an OGNL injection vulnerability in Apache Struts2 to achieve remote command execution. The script constructs a malicious Content-Type header to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Network access to the target server
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by ludy-dev · remote
https://github.com/ludy-dev/XworkStruts-RCE

This repository contains a Python script that exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages incorrect exception handling in the Jakarta Multipart parser to execute arbitrary commands via crafted HTTP headers.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (2.3.x before 2.3.32 and 2.5.x before 2.5.10.1)
No auth needed
Prerequisites: Target running vulnerable version of Apache Struts 2 · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by sighup1 · poc
https://github.com/sighup1/cybersecurity-struts2

This repository contains a functional proof-of-concept exploit for CVE-2017-5638, leveraging OGNL injection in Apache Struts2 to achieve remote code execution via malicious Content-Type headers. The PoC includes a custom Command class and demonstrates command execution through ProcessBuilder.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by un4ckn0wl3z · remote
https://github.com/un4ckn0wl3z/CVE-2017-5638

This is a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. It leverages OGNL injection to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by ggolawski · remote
https://github.com/ggolawski/struts-rce

This repository contains a proof-of-concept exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages a malicious Content-Type header to execute arbitrary commands via the Struts REST plugin.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 with the REST plugin enabled
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by m3ssap0 · remote
https://github.com/m3ssap0/struts2_cve-2017-5638

This is a Java-based proof-of-concept exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It leverages a crafted Content-Type header to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by riyazwalikar · remote
https://github.com/riyazwalikar/struts-rce-cve-2017-5638

This PoC exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. It writes a JSP webshell to the target server and provides a pseudo-shell interface for command execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2 (2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts 2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by jpacora · remote
https://github.com/jpacora/Struts2Shell

This repository contains a functional exploit for CVE-2017-5638, leveraging an OGNL injection vulnerability in Apache Struts2 to achieve remote command execution. The exploit constructs a malicious Content-Type header to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target system running a vulnerable version of Apache Struts2 · Network access to the target system
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by KarzsGHR · poc
https://github.com/KarzsGHR/S2-046_S2-045_POC

This repository contains two bash scripts demonstrating remote code execution (RCE) exploits for CVE-2017-5638 (S2-046) and CVE-2017-5638 (S2-045) in Apache Struts2. The exploits leverage OGNL injection via malformed Content-Type headers to execute arbitrary commands (e.g., 'id' or 'whoami').

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by oktavianto · poc
https://github.com/oktavianto/CVE-2017-5638-Apache-Struts2

This is a functional PHP exploit for CVE-2017-5638, leveraging OGNL injection in Apache Struts2 to achieve remote code execution. The payload constructs a malicious Content-Type header to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Network access to the target application
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 1 stars
by Masahiro-Yamada · poc
https://github.com/Masahiro-Yamada/OgnlContentTypeRejectorValve

This repository provides a Tomcat Valve implementation to mitigate CVE-2017-5638 (Struts2 RCE) by rejecting requests with OGNL expressions in the Content-Type header. It is a defensive tool rather than an exploit.

Classification
Working Poc 90%
Attack Type
Other
Complexity
Trivial
Reliability
Reliable
Target: Apache Tomcat 7 (with Struts2 applications)
No auth needed
Prerequisites: Tomcat 7 server · Struts2 application vulnerable to CVE-2017-5638
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by Dungsocool · poc
https://github.com/Dungsocool/CVE-2017-5638

The repository contains a detailed technical analysis of CVE-2017-5638, including multiple images and a README. The images appear to be screenshots or diagrams explaining the vulnerability, likely covering root cause analysis, exploit mechanics, or patch diffs.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: vulnerable Apache Struts version · network access to the target
devstral-2 · analyzed May 27, 2026 Full analysis →
nomisec WRITEUP
by Majaktech · poc
https://github.com/Majaktech/apache-struts-cve-2017-5638-project

This repository contains a project proposal and README for an academic analysis of CVE-2017-5638, a remote code execution vulnerability in Apache Struts. It outlines objectives, methodology, and expected outcomes but does not include exploit code or technical details.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Theoretical
Target: Apache Struts (versions affected by CVE-2017-5638)
No auth needed
Prerequisites: vulnerable Apache Struts environment · Kali Linux for exploitation testing
devstral-2 · analyzed May 19, 2026 Full analysis →
nomisec WORKING POC
by Kouf320 · poc
https://github.com/Kouf320/attacker-lab-cve-2017-5638-cve-2021-41773-paper

This repository contains a functional Docker-based lab environment demonstrating a multi-stage attack chain exploiting CVE-2017-5638 (Apache Struts2 OGNL injection) and CVE-2021-41773 (Apache HTTP Server path traversal/RCE). It includes fully automated exploit scripts, IDS monitoring, and realistic network pivoting.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.28 (CVE-2017-5638), Apache HTTP Server 2.4.49 (CVE-2021-41773)
No auth needed
Prerequisites: Docker and Docker Compose v2 · Bash-compatible shell
devstral-2 · analyzed Apr 12, 2026 Full analysis →
nomisec WORKING POC
by AIPEACS · poc
https://github.com/AIPEACS/SC3010-Computer-Security

This repository contains a functional exploit for CVE-2017-5638, including a vulnerable Struts2 server and a PowerShell exploit script that demonstrates the OGNL injection leading to RCE. It also includes detailed technical documentation and diagrams explaining the attack chain.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5–2.3.31 and 2.5–2.5.10)
No auth needed
Prerequisites: A vulnerable Apache Struts2 server · Network access to the target server
devstral-2 · analyzed Apr 10, 2026 Full analysis →
nomisec WORKING POC
by AIPEAC · remote
https://github.com/AIPEAC/SC3010-Computer-Security

This repository contains a functional exploit PoC for CVE-2017-5638, an OGNL injection vulnerability in Apache Struts2. It includes a vulnerable backend (Struts2 2.3.28) and a PowerShell exploit script demonstrating the attack via malicious Content-Type header injection.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 2.3.5 to 2.3.31, 2.5 to 2.5.10
No auth needed
Prerequisites: Network access to vulnerable Struts2 endpoint · Ability to send crafted HTTP requests
devstral-2 · analyzed Apr 10, 2026 Full analysis →
gitlab WORKING POC
by philaruff · poc
https://gitlab.com/philaruff/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages an OGNL injection flaw in the REST plugin to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Python · Docker · Maven · JDK · vulnerable Struts2 instance
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by HokieGeek · poc
https://gitlab.com/HokieGeek/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages an OGNL injection flaw in the REST plugin to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Python · Docker · Maven · JDK · vulnerable Struts2 instance
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by sabley1 · poc
https://gitlab.com/sabley1/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system. The repository includes a Dockerfile for setting up a vulnerable environment and a Python script to demonstrate the exploit.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Docker · JRE · Python
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by sabley · poc
https://gitlab.com/sabley/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system. The repository includes a Docker setup for testing the exploit against a vulnerable Struts2 application.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Docker · JRE · Python
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by bryanwhyte · poc
https://gitlab.com/bryanwhyte/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages a malicious Content-Type header to execute arbitrary commands on the target system. The repository includes a Dockerfile to set up a vulnerable environment and a Python script to demonstrate the exploit.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: JDK · Docker · Python or Jython
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by iletee2 · poc
https://gitlab.com/iletee2/cve-2017-5638

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It includes a Dockerized vulnerable application and a Python exploit script that leverages OGNL injection to execute arbitrary commands.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Docker environment to run the vulnerable application · Python to execute the exploit script
devstral-2 · analyzed Feb 23, 2026 Full analysis →
gitlab WORKING POC
by luispereira2024 · remote
https://gitlab.com/luispereira2024/struts2-rce

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages an OGNL injection flaw in the REST plugin to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Docker · JDK · Python or Jython
devstral-2 · analyzed Feb 23, 2026 Full analysis →
nomisec WORKING POC
by soufiane-benchahyd · poc
https://github.com/soufiane-benchahyd/vulhub-struts2

This repository provides a functional Docker-based lab environment for testing CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It includes a vulnerable container setup and a working exploit example using a crafted Content-Type header.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 versions 2.3.5 to 2.3.31 and 2.5 to 2.5.10
No auth needed
Prerequisites: Docker and Docker Compose installed · Network access to the target container
devstral-2 · analyzed Feb 20, 2026 Full analysis →
nomisec WORKING POC
by kaylertee · poc
https://github.com/kaylertee/Computer-Security-Equifax-2017

This repository contains a proof-of-concept exploit for CVE-2017-5638, an Apache Struts2 RCE vulnerability. The exploit leverages a malicious Content-Type header to execute arbitrary code via OGNL injection.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target running vulnerable Apache Struts version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by MuhammadAbdullah192 · poc
https://github.com/MuhammadAbdullah192/CVE-2017-5638-Remote-Code-Execution-Apache-Struts2-EXPLOITATION

This repository contains only a README file describing CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. No actual exploit code or proof-of-concept is present.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: vulnerable Apache Struts2 instance · network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by joidiego · poc
https://github.com/joidiego/Detection-struts-cve-2017-5638-detector

This repository contains a real-time anomaly detection system for CVE-2017-5638, an RCE vulnerability in Apache Struts. It uses behavioral analysis, byte-level n-gram extraction, and probabilistic data structures to detect exploitation attempts without relying on signatures.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Complex
Reliability
Reliable
Target: Apache Struts (versions affected by CVE-2017-5638)
No auth needed
Prerequisites: Access to HTTP request logs or network traffic · Python environment with dependencies (e.g., Streamlit, NumPy)
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by QHxDr-dz · remote
https://github.com/QHxDr-dz/CVE-2017-5638

This is a functional Python-based PoC for CVE-2017-5638, exploiting a Remote Code Execution vulnerability in Apache Struts 2 via a maliciously crafted Content-Type header. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 · Target endpoint must be accessible
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec STUB
by toothbrushsoapflannelbiscuits · poc
https://github.com/toothbrushsoapflannelbiscuits/cve-2017-5638

This repository contains minimal Java code for a Struts2 project but lacks any exploit implementation for CVE-2017-5638. It only includes a basic build configuration and a trivial Action class.

Classification
Stub 90%
Attack Type
Other
Complexity
Trivial
Reliability
Theoretical
Target: Apache Struts 2.3.31
No auth needed
Prerequisites: Apache Struts 2.3.31 environment
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by timothyjxhn · poc
https://github.com/timothyjxhn/DeliberatelyVulnerableWebApp

This repository contains a deliberately vulnerable Struts 2 web application designed to demonstrate CVE-2021-44228 (Log4Shell). The application includes vulnerable components that allow for remote code execution via Log4j logging.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2 (with vulnerable Log4j dependency)
No auth needed
Prerequisites: Network access to the vulnerable application · Log4j 2.x vulnerable version
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by Xernary · poc
https://github.com/Xernary/CVE-2017-5638-POC

This repository contains a functional proof-of-concept exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31 and 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec SCANNER
by jrrombaldo · remote
https://github.com/jrrombaldo/CVE-2017-5638

This repository contains a Python script designed to scan for CVE-2017-5638 (Apache Struts 2 RCE) by injecting a benign HTTP header and checking for its presence in the response. It supports multithreading for large-scale validation.

Classification
Scanner 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: List of target URLs with Struts endpoints
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by FredBrave · remote
https://github.com/FredBrave/CVE-2017-5638-ApacheStruts2.3.5

This is a functional exploit for CVE-2017-5638, targeting Apache Struts 2.3.5 to 2.3.31 and 2.5 to 2.5.10. It leverages an OGNL injection vulnerability to achieve remote command execution (RCE) by manipulating the Content-Type header.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts · Access to an .action endpoint
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by mritunjay-k · remote
https://github.com/mritunjay-k/CVE-2017-5638

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages OGNL injection via a maliciously crafted Content-Type header to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance exposed to the network
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by mfdev-solution · poc
https://github.com/mfdev-solution/Exploit-CVE-2017-5638

This repository contains a functional PoC for CVE-2017-5638, exploiting an OGNL injection vulnerability in Apache Struts2 via malformed Content-Type headers. It includes a custom Command class and demonstrates command execution via ProcessBuilder.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Struts2 application · Network access to target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by sonatype-workshops · remote
https://github.com/sonatype-workshops/struts2-rce

This repository contains a working exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages an OGNL injection flaw in the REST plugin to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target system running vulnerable Apache Struts2 version · Network access to the target system
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by injcristianrojas · remote
https://github.com/injcristianrojas/cve-2017-5638

This repository contains two Python-based exploits for CVE-2017-5638, a critical RCE vulnerability in Apache Struts 2. The exploits leverage OGNL injection via malformed Content-Type headers to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts 2 version · Network access to the target application
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by Tankirat · remote
https://github.com/Tankirat/CVE-2017-5638

This repository provides a detailed writeup on CVE-2017-5638, a critical RCE vulnerability in Apache Struts 2 due to OGNL expression injection in HTTP headers. It includes vulnerability details, exploit mechanics, and a case study on the Equifax breach.

Classification
Writeup 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 version · Network access to the target application
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by readloud · remote
https://github.com/readloud/CVE-2017-5638

This repository contains multiple proof-of-concept exploits for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploits demonstrate command injection via malformed Content-Type headers, targeting vulnerable Struts applications.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 application · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by testpilot031 · remote
https://github.com/testpilot031/vulnerability_struts-2.3.31

This repository provides a Docker-based environment to test CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2.3.31. It includes a curl command with an OGNL payload to exploit the vulnerability and execute arbitrary commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.31
No auth needed
Prerequisites: Docker · curl · Apache Struts 2.3.31 environment
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by Badbird3 · remote
https://github.com/Badbird3/CVE-2017-5638

This is a Python3 port of the original CVE-2017-5638 exploit for Apache Struts2 S2-045. It leverages an OGNL injection vulnerability to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Target must have the REST plugin enabled
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by leandrocamposcardoso · remote
https://github.com/leandrocamposcardoso/CVE-2017-5638-Mass-Exploit

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It includes a mass scanner (dorker) to find vulnerable targets and an exploit script to execute arbitrary commands or spawn reverse shells.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by colorblindpentester · remote
https://github.com/colorblindpentester/CVE-2017-5638

This is a functional exploit for CVE-2017-5638, leveraging an OGNL injection vulnerability in Apache Struts2 to achieve remote command execution. The payload constructs and executes arbitrary commands via a crafted Content-Type header.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Target server running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by cafnet · remote
https://github.com/cafnet/apache-struts-v2-CVE-2017-5638

This repository contains a working Python exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts 2 · Target endpoint must be accessible
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by SpiderMate · remote
https://github.com/SpiderMate/Stutsfi

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploit uses a crafted Content-Type header with OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by donaldashdown · poc
https://github.com/donaldashdown/Common-Vulnerability-and-Exploit

This repository contains a writeup for CVE-2017-5638, the Apache Struts 2 vulnerability that led to the Equifax breach. It describes how to apply and patch against the exploit but does not include functional exploit code.

Classification
Writeup 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Network access to vulnerable Struts 2 application · Content-Type header manipulation capability
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec SCANNER
by invisiblethreat · poc
https://github.com/invisiblethreat/strutser

This Go-based tool scans for CVE-2017-5638 (Apache Struts2 RCE) by sending a crafted Content-Type header and checking for a custom response header. It supports concurrent scanning of multiple targets and ports.

Classification
Scanner 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Network access to target · Target running vulnerable Struts2 version
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by Xhendos · poc
https://github.com/Xhendos/CVE-2017-5638

This repository contains a functional proof-of-concept exploit for CVE-2017-5638, an Apache Struts2 RCE vulnerability. It includes scripts to scan for vulnerable targets and execute arbitrary commands via a crafted Content-Type header.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: curl · nmap · target with vulnerable Apache Struts instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by sUbc0ol · remote
https://github.com/sUbc0ol/Apache-Struts-CVE-2017-5638-RCE-Mass-Scanner

This is a functional exploit for CVE-2017-5638, targeting Apache Struts2 with an OGNL injection payload to achieve remote code execution. It includes a mass scanner capability and an interactive shell for command execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Target must have the vulnerable endpoint exposed
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by eeehit · poc
https://github.com/eeehit/CVE-2017-5638

This repository provides instructions for setting up a vulnerable Docker environment for CVE-2017-5638, a critical Apache Struts 2 RCE vulnerability. It includes steps to build and run a Docker container with a vulnerable Tomcat instance and references a vulnerable Struts application.

Classification
Writeup 80%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Docker installed · Vulnerable Struts application deployed
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec STUB
by homjxi0e · poc
https://github.com/homjxi0e/CVE-2017-5638

The repository contains only a README.md file with the CVE identifier and no exploit code or technical details. It appears to be a placeholder or incomplete submission.

Classification
Stub 10%
Attack Type
Other
Complexity
Trivial
Reliability
Theoretical
Target: unknown
No auth needed
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by smancke · poc
https://github.com/smancke/CVE-2017-5638

This Go-based PoC exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. It crafts a malicious Content-Type header with an OGNL expression to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Apache Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by Aasron · remote
https://github.com/Aasron/Struts2-045-Exp

This repository contains two Python scripts for exploiting CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. One script is a full exploit that executes arbitrary commands, while the other is a detection script that checks for vulnerability presence.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target running vulnerable Struts2 version · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by c002 · poc
https://github.com/c002/Apache-Struts

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Target endpoint must be accessible
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by mcassano · remote
https://github.com/mcassano/cve-2017-5638

This repository contains a functional exploit for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages an OGNL injection flaw to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target system running a vulnerable version of Apache Struts2 · Network access to the target system
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by gsfish · poc
https://github.com/gsfish/S2-Reaper

This repository contains a Python script that automates the exploitation of CVE-2017-5638 (Apache Struts2 S2-045) by crawling Google search results for vulnerable URLs and executing arbitrary commands via an OGNL injection payload.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Google search access · Python environment with dependencies (beautifulsoup4, requests) · Vulnerable Struts2 instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by bhagdave · remote
https://github.com/bhagdave/CVE-2017-5638

This is a Metasploit module for CVE-2017-5638, exploiting a remote command execution vulnerability in Apache Struts versions <= 2.5.10 via malformed Content-Type headers. It includes a check method to verify vulnerability and supports Linux targets with a bind shell payload.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts <= 2.5.10
No auth needed
Prerequisites: Network access to vulnerable Struts application · Struts application with exposed action endpoint
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by random-robbie · remote
https://github.com/random-robbie/CVE-2017-5638

This repository contains multiple proof-of-concept exploits for CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2. The exploits leverage OGNL injection to execute arbitrary commands on vulnerable systems.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by sjitech · remote
https://github.com/sjitech/test_struts2_vulnerability_CVE-2017-5638

This repository contains a working PoC for CVE-2017-5638, a remote code execution vulnerability in Apache Struts2. The exploit leverages OGNL injection to execute arbitrary commands on the target system.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Vulnerable Apache Struts2 application · Network access to the target
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by btamburi · poc
https://github.com/btamburi/strutszeiro

This repository contains a Telegram bot that automates the exploitation of CVE-2017-5638 (Apache Struts2 RCE) to build and manage a botnet. It includes functionality to test vulnerabilities, execute commands on compromised servers, and manage multiple targets via Telegram commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5 - 2.3.31, 2.5 - 2.5.10
No auth needed
Prerequisites: Telegram bot API token · Telegram group ID · Vulnerable Apache Struts2 instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC
by bongbongco · remote
https://github.com/bongbongco/cve-2017-5638

This PoC exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts2 due to improper handling of Content-Type headers. The script sends a malicious OGNL expression via a multipart/form-data request to execute arbitrary commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions 2.3.5 - 2.3.31, 2.5 - 2.5.10)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Struts2 · Network access to the target application
devstral-2 · analyzed Feb 16, 2026 Full analysis →
metasploit SCANNER
rubypoc
https://github.com/rapid7/metasploit-framework/blob/master/spec/lib/msf/core/mcp/tools/vulnerability_info_spec.rb

This is a Metasploit Framework test suite for vulnerability information retrieval, specifically testing the MCP (Metasploit Communication Protocol) tool for querying vulnerability data, including CVE-2017-5638 (Apache Struts RCE). It does not contain exploit code but validates the functionality of vulnerability scanning and data retrieval.

Classification
Scanner 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: Metasploit Framework (MCP Tools)
Auth required
Prerequisites: Access to Metasploit Framework with valid authentication · Vulnerability data populated in the Metasploit database
devstral-2 · analyzed May 01, 2026 Full analysis →
metasploit WORKING POC EXCELLENT
by Nike.Zheng, Nixawk, Chorder, egypt, Jeffrey Martin · rubypoc
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/struts2_content_type_ognl.rb

This Metasploit module exploits CVE-2017-5638, a remote code execution vulnerability in Apache Struts 2.3.5-2.3.31 and 2.5-2.5.10 via OGNL injection in the Content-Type header. It supports command execution and payload delivery for multiple platforms.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2.3.5-2.3.31, 2.5-2.5.10
No auth needed
Prerequisites: Network access to the target Struts application · Vulnerable Struts version
devstral-2 · analyzed Feb 16, 2026 Full analysis →

Nuclei Templates (1)

Apache Struts 2 - Remote Command Execution
CRITICALVERIFIEDby Random_Robbie
Shodan: html:"Apache Struts" || http.title:"struts2 showcase" || http.html:"struts problem report" || http.html:"apache struts"
FOFA: body="struts problem report" || title="struts2 showcase" || body="apache struts"

References (34)

Core 34
Core References
Exploit x_refsource_misc
https://github.com/mazen160/struts-pwn
Exploit, Third Party Advisory x_refsource_misc
https://nmap.org/nsedoc/scripts/http-vuln-cve2017-5638.html
Third Party Advisory x_refsource_confirm
http://www.arubanetworks.com/assets/alert/ARUBA-PSA-2017-002.txt
Exploit, Third Party Advisory, VDB Entry exploit x_refsource_exploit-db
https://exploit-db.com/exploits/41570
Third Party Advisory x_refsource_confirm
https://security.netapp.com/advisory/ntap-20170310-0001/
Exploit, Issue Tracking x_refsource_misc
https://github.com/rapid7/metasploit-framework/issues/8064
Mitigation, Vendor Advisory x_refsource_confirm
https://struts.apache.org/docs/s2-046.html
Exploit, Third Party Advisory x_refsource_misc
http://blog.talosintelligence.com/2017/03/apache-0-day-exploited.html
Third Party Advisory, US Government Resource third-party-advisory x_refsource_cert-vn
https://www.kb.cert.org/vuls/id/834067
Exploit, Third Party Advisory x_refsource_misc
https://isc.sans.edu/diary/22169
Mitigation, Vendor Advisory x_refsource_confirm
https://struts.apache.org/docs/s2-045.html
Broken Link, Third Party Advisory, VDB Entry vdb-entry x_refsource_sectrack
http://www.securitytracker.com/id/1037973
Press/Media Coverage, Third Party Advisory x_refsource_misc
http://www.eweek.com/security/apache-struts-vulnerability-under-attack.html
Broken Link, Third Party Advisory, VDB Entry vdb-entry x_refsource_bid
http://www.securityfocus.com/bid/96729
Broken Link, Third Party Advisory x_refsource_misc
https://twitter.com/theog150/status/841146956135124993
Exploit, Third Party Advisory, VDB Entry x_refsource_misc
https://packetstormsecurity.com/files/141494/S2-45-poc.py.txt
Third Party Advisory x_refsource_confirm
https://support.lenovo.com/us/en/product_security/len-14200
Mitigation, Vendor Advisory x_refsource_confirm
https://cwiki.apache.org/confluence/display/WW/S2-045
Exploit, Third Party Advisory, VDB Entry exploit x_refsource_exploit-db
https://www.exploit-db.com/exploits/41614/
Mitigation, Vendor Advisory x_refsource_confirm
https://cwiki.apache.org/confluence/display/WW/S2-046
Patch, Third Party Advisory x_refsource_confirm
http://www.oracle.com/technetwork/security-advisory/cpujul2017-3236622.html

Scores

CVSS v3 9.8
EPSS 0.9427
EPSS Percentile 99.9%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation active
Automatable yes
Technical Impact total

Lab Environment

COMMUNITY
Community Lab
docker pull tomcat:7
docker pull tomcat:7.0-jre8
docker pull amazoncorretto:17
docker pull tomcat:9.0-jdk8-corretto
docker pull tomcat:9.0-jdk17-temurin-jammy
+10 more images
+86 more repos

Details

CISA KEV 2021-11-03
VulnCheck KEV 2017-03-11
InTheWild.io 2021-02-24
ENISA EUVD EUVD-2018-0625
Ransomware Use Confirmed
CWE
CWE-755
Status published
Products (23)
apache/struts 2.2.3 - 2.3.32
Apache Software Foundation/Apache Struts 2.3.x before 2.3.32
Apache Software Foundation/Apache Struts 2.5.x before 2.5.10.1
arubanetworks/clearpass_policy_manager < 6.6.5
hp/server_automation 9.1.0
hp/server_automation 10.0.0
hp/server_automation 10.1.0
hp/server_automation 10.2.0
hp/server_automation 10.5.0
ibm/storwize_v3500_firmware 7.7.1.6
... and 13 more
Published Mar 11, 2017
KEV Added Nov 03, 2021
Tracked Since Feb 18, 2026