CVE-2023-50164

CRITICAL EXPLOITED IN THE WILD LAB

Apache Struts 2.0.0-2.5.32 - Path Traversal and Remote Code Execution via File Upload

Title source: llm
STIX 2.1

Exploitation Summary

CVE-2023-50164 has been observed exploited in the wild (reported by VulnCheck KEV, InTheWild.io). EIP tracks 18 public exploits from researchers including jakabakos, dwisiswant0, Trackflaw.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts that leads to remote code execution (RCE) via malicious file upload. The exploit uploads a WAR file containing a JSP webshell to a vulnerable endpoint, then interacts with the webshell for command execution.

Description

An attacker can manipulate file upload params to enable paths traversal and under some circumstances this can lead to uploading a malicious file which can be used to perform Remote Code Execution. Users are recommended to upgrade to versions Struts 2.5.33 or Struts 6.3.0.2 or greater to fix this issue.

Exploits (18)

nomisec WORKING POC 85 stars
by jakabakos · poc
https://github.com/jakabakos/CVE-2023-50164-Apache-Struts-RCE

This repository contains a functional exploit for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts that leads to remote code execution (RCE) via malicious file upload. The exploit uploads a WAR file containing a JSP webshell to a vulnerable endpoint, then interacts with the webshell for command execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Vulnerable Apache Struts application with exposed file upload functionality · Network access to the target · Ability to send HTTP requests to the upload endpoint
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 57 stars
by dwisiswant0 · remote
https://github.com/dwisiswant0/cve-2023-50164-poc

This repository contains a functional exploit PoC for CVE-2023-50164, which targets a path traversal vulnerability in Apache Struts 2. The exploit constructs a malicious WAR file, uploads it via a multipart form, and verifies successful deployment by checking the target path.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Access to a vulnerable Apache Struts 2 upload endpoint · A malicious payload file (e.g., JSP shell) · The 'jar' command-line tool for WAR file creation
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 7 stars
by Trackflaw · poc
https://github.com/Trackflaw/CVE-2023-50164-ApacheStruts2-Docker

This repository provides a Dockerized vulnerable environment for CVE-2023-50164, an Apache Struts 2 file upload vulnerability leading to RCE via path traversal. It includes a vulnerable Java-based upload endpoint with a flawed file extension filter that can be bypassed.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Docker environment · Network access to the vulnerable application
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 6 stars
by snyk-labs · remote
https://github.com/snyk-labs/CVE-2023-50164-POC

This repository contains a functional Proof of Concept (PoC) for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts that can lead to Remote Code Execution (RCE). The PoC includes vulnerable and patched versions of a file upload action, showcasing the exploit and mitigation.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts (struts-core 6.3.0.1)
No auth needed
Prerequisites: Access to a vulnerable Apache Struts instance · Ability to send HTTP requests to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 4 stars
by bcdannyboy · remote
https://github.com/bcdannyboy/CVE-2023-50164

This repository contains a functional exploit PoC for CVE-2023-50164, which leverages a file upload vulnerability to overwrite arbitrary files on the target system. The script crafts a multipart request to upload a benign file and then overwrites it with a user-specified path, demonstrating the vulnerability.

Classification
Working Poc 90%
Attack Type
Other
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2 (specific version not specified)
No auth needed
Prerequisites: Target URL · Upload variable name · Filename variable name · Payload path
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 3 stars
by Trackflaw · poc
https://github.com/Trackflaw/CVE-2024-10924-Wordpress-Docker

This repository provides a Dockerized WordPress environment with the vulnerable Really Simple SSL plugin (version 9.1.1.1) to demonstrate CVE-2024-10924, an authentication bypass flaw in the Two-Factor Authentication feature. The setup includes a pre-configured WordPress instance with the vulnerable plugin installed, allowing for testing of the exploit.

Classification
Working Poc 90%
Attack Type
Auth Bypass
Complexity
Moderate
Reliability
Reliable
Target: Really Simple SSL plugin for WordPress (versions 9.0.0 to 9.1.1.1)
No auth needed
Prerequisites: Docker and Docker Compose installed · Really Simple SSL plugin version 9.1.1.1 or earlier
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 2 stars
by sunnyvale-it · poc
https://github.com/sunnyvale-it/CVE-2023-50164-PoC

This repository contains a functional PoC for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts2 leading to RCE via file upload. The exploit uploads a malicious WAR file containing a JSP webshell, which can then execute arbitrary commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Docker environment to build and run the vulnerable application · Network access to the target Struts2 application
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by Pixel-DefaultBR · remote
https://github.com/Pixel-DefaultBR/CVE-2023-50164

This repository contains a functional exploit for CVE-2023-50164, targeting Apache Struts 2's file upload vulnerability to achieve remote code execution (RCE) via path traversal. The exploit crafts a malicious PNG file with embedded JSP code and uploads it to a vulnerable endpoint.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts 2
No auth needed
Prerequisites: Vulnerable Apache Struts 2 instance · Network access to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by NikitaPark · remote
https://github.com/NikitaPark/CVE-2023-50164-PoC

This repository contains a functional exploit for CVE-2023-50164, a file path traversal vulnerability in Apache Struts. The exploit demonstrates arbitrary file upload to achieve remote code execution by leveraging directory traversal sequences in the file upload parameter.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Network access to the vulnerable Struts application · Ability to send HTTP POST requests to the upload endpoint
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec STUB 1 stars
by aaronm-sysdig · poc
https://github.com/aaronm-sysdig/cve-2023-50164

This repository contains a basic Struts 2 application setup with Docker and Kubernetes configurations but lacks any exploit code or technical details for CVE-2023-50164. It appears to be a placeholder for demonstrating Sysdig's detection capabilities rather than a functional PoC.

Classification
Stub 90%
Attack Type
Other
Complexity
Trivial
Reliability
Theoretical
Target: Apache Struts 2
No auth needed
Prerequisites: Docker · Kubernetes
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by Thirukrishnan · poc
https://github.com/Thirukrishnan/CVE-2023-50164-Apache-Struts-RCE

This repository provides a Dockerfile and a vulnerable WAR file to test CVE-2023-50164, an RCE vulnerability in Apache Struts. The setup includes a pre-configured environment with Tomcat and the vulnerable application, allowing researchers to replicate the exploit.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts (via vulnerable WAR file)
No auth needed
Prerequisites: Docker environment · Network access to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec SCANNER 1 stars
by helsecert · poc
https://github.com/helsecert/cve-2023-50164

The repository provides PowerShell and Bash scripts to scan for Struts2 JAR/WAR/EAR files containing 'struts2-core' to identify vulnerable versions. It does not include exploit code but aids in detection.

Classification
Scanner 100%
Attack Type
Info Leak
Complexity
Trivial
Reliability
Reliable
Target: Apache Struts 2 (2.0.0-2.3.37, 2.5.0-2.5.32, 6.0.0-6.3.0)
No auth needed
Prerequisites: Access to the target filesystem
devstral-2 · analyzed Feb 18, 2026 Full analysis →
gitlab WORKING POC
by Hamdane10 · remote
https://gitlab.com/Hamdane10/cve-2023-50164

This repository contains a functional exploit for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts2 to upload a malicious WAR file (webshell.war) to a Tomcat server's webapps directory, achieving remote code execution (RCE). The PoC includes a Dockerized vulnerable application and an exploit script that automates the attack.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (with Tomcat)
No auth needed
Prerequisites: Docker · Python · vulnerable Apache Struts2 application
devstral-2 · analyzed Feb 23, 2026 Full analysis →
nomisec WORKING POC
by hybinn · poc
https://github.com/hybinn/CVE-2023-50164

This repository contains a functional exploit for CVE-2023-50164, targeting Apache Struts2 with a path traversal vulnerability leading to RCE. The tool includes multiple exploitation methods such as file upload, webshell deployment, and version detection via Docker or system commands.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (2.0.0-2.5.32, 6.0.0-6.3.0.1)
No auth needed
Prerequisites: Target URL with vulnerable Struts2 instance · Network access to the target · Docker access for version detection (optional)
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by MKIRAHMET · remote
https://github.com/MKIRAHMET/CVE-2023-50164-HTB-strutted

This repository contains a functional exploit for CVE-2023-50164, demonstrating path traversal and RCE in Apache Struts via manipulated file upload parameters. The exploit uploads a malicious WAR file to achieve remote code execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Vulnerable Apache Struts instance with exposed file upload functionality
devstral-2 · analyzed Feb 18, 2026 Full analysis →
github WORKING POC
by enciphers-team · pythonpoc
https://github.com/enciphers-team/cve-exploits/tree/main/cve-2023-50164.py

The repository contains functional exploit code for CVE-2023-50164, which targets a vulnerability in Apache Struts2. The exploit uploads a malicious WAR file containing a JSP webshell to achieve remote code execution (RCE).

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts2 (specific version not specified in code)
No auth needed
Prerequisites: Target URL with vulnerable Struts2 instance · Network access to the target
devstral-2 · analyzed Feb 27, 2026 Full analysis →
nomisec STUB
by minhbao15677 · poc
https://github.com/minhbao15677/CVE-2023-50164

The repository contains minimal content with incomplete setup instructions and no actual exploit code or technical analysis for CVE-2023-50164. It lacks depth and functional details.

Classification
Stub 90%
Attack Type
Other
Complexity
Theoretical
Reliability
Theoretical
Target: Apache Struts
No auth needed
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by AsfandAliMemon25 · remote
https://github.com/AsfandAliMemon25/CVE-2023-50164Analysis-

This repository contains a functional exploit for CVE-2023-50164, demonstrating a path traversal vulnerability in Apache Struts file upload functionality. The exploit uploads a malicious WAR file to achieve remote code execution (RCE) via a JSP webshell.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Struts (versions affected by CVE-2023-50164)
No auth needed
Prerequisites: Vulnerable Apache Struts application with exposed file upload endpoint · Network access to the target · Python environment with required dependencies (requests, requests_toolbelt)
devstral-2 · analyzed Feb 18, 2026 Full analysis →

Scores

CVSS v3 9.8
EPSS 0.9366
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 poc
Automatable yes
Technical Impact total

Lab Environment

COMMUNITY
Community Lab
docker pull tomcat:9.0.111-jre25-temurin-noble
docker pull tomcat:9.0
docker pull tomcat:9-jdk11-openjdk-slim
docker pull tomcat:9.0-jdk11-temurin-jammy
docker pull tomcat:9-jdk8
+1 more images
+14 more repos

Details

VulnCheck KEV 2024-01-31
InTheWild.io 2023-12-13
CWE
CWE-552
Status published
Products (2)
apache/struts 2.0.0 - 2.5.33
org.apache.struts/struts2-core 2.0.0 - 2.5.33Maven
Published Dec 07, 2023
Tracked Since Feb 18, 2026