CVE-2016-4438 — Arbitrary code execution in...
Arbitrary code execution in Apache Struts 2
Summary
Advisory Timeline
- First published May 14, 2022 (1612 days ago).
- Last revised February 16, 2024 — 643 days after initial publication.
Remediation
Upgrade to the fixed version using your package manager.
<!-- Update pom.xml dependency version to 2.3.29 for org.apache.struts:struts2-rest-plugin -->
<!-- Update pom.xml dependency version to 2.3.29 for org.apache.struts:struts2-core -->
After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.
Affected Packages (2)
Affects 1 ecosystem: maven (2).
| Package | Ecosystem | Affected | Fixed In |
|---|---|---|---|
| org.apache.struts:struts2-rest-plugin | maven | 2.3.20, 2.3.20.1, 2.3.20.3, 2.3.24 (+4 more) | 2.3.29 |
| org.apache.struts:struts2-core | maven | 2.3.20, 2.3.20.1, 2.3.20.3, 2.3.24 (+4 more) | 2.3.29 |
Vulnerability Classification
Common Weakness Enumeration (CWE) identifiers for this vulnerability type.
- CWE-20Improper Input ValidationMITRE
CVSS Score Breakdown
What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
References
- https://nvd.nist.gov/vuln/detail/CVE-2016-4438ADVISORY
- https://github.com/apache/struts/commit/6d7ac40dcede1793a4534a3dc249fd562d495e8cWEB
- https://github.com/apache/struts/commit/76eb8f38a33ad0f1f48464ee1311559c8d52dd6dWEB
- https://github.com/apache/struts/commit/c9c21378f2fb2ff21355c128c45e106ebd87ad7cWEB
- https://github.com/apache/struts/commit/deefeffd11425f0cd0b797cd86a9b3550234262bWEB
- https://bugzilla.redhat.com/show_bug.cgi?id=1348238WEB
- https://github.com/apache/strutsPACKAGE
- https://struts.apache.org/docs/s2-037.htmlWEB
- https://jvn.jp/en/jp/JVN07710476/index.htmlWEB
- https://jvndb.jvn.jp/jvndb/JVNDB-2016-000110WEB
Frequently Asked Questions
- What is CVE-2016-4438?
- Arbitrary code execution in Apache Struts 2 This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.8/10).
- How do I check if my project is affected by CVE-2016-4438?
- CVE-2016-4438 affects org.apache.struts:struts2-rest-plugin and org.apache.struts:struts2-core. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2016-4438 and 200,000+ other known vulnerabilities.
Severity & Exploitability
Exploitation is straightforward and causes maximum impact. Patch immediately.
Also Known As
Related CVEs
- CVE-2023-50164CRITICAL
Apache Struts vulnerable to path traversal
- CVE-2024-53677CRITICAL
Apache Struts file upload logic is flawed
- CVE-2012-0391CRITICAL
Apache Struts Remote Java Code Execution
- CVE-2026-107726CRITICAL
Hazelcast allows arbitrary member memory access by low-privileged client
- CVE-2016-3087CRITICAL
Apache Struts vulnerable to arbitrary remote code execution due to improper input validation
- CVE-2016-3082CRITICAL
Remote Code Execution in Apache Struts
- CVE-2016-4436CRITICAL
Apache Struts improper action name cleanup
- CVE-2025-68493HIGH
Apache Struts 2 is Missing XML Validation
Check if you're affected
Scan your dependencies to see if this vulnerability affects your projects.
Scan Your Dependencies