CVE-2012-0391
Apache Struts Remote Java Code Execution
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
- Record
CVE-2012-0391- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 9.3 High
AV:N/AC:M/Au:N/C:C/I:C/A:C - Weakness
- CWE-94
- Updated
- 2026-11-02
CVE List
9.8
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
- Record
CVE-2012-0391- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94
- Updated
- 2026-11-02
EUVDEUVD-2022-2464
9.8
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
- Record
EUVD-2022-2464- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-4wrr-9h5r-m92w
9.8
Apache Struts Remote Java Code Execution
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
- Record
GHSA-4wrr-9h5r-m92w- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-94
- Updated
- 2026-11-02
CISA KEV No score
Apache Struts 2 Improper Input Validation Vulnerability
The ExceptionDelegator component in Apache Struts 2 before 2.2.3.1 contains an improper input validation vulnerability that allows for remote code execution.
- Record
CVE-2012-0391- Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-4wrr-9h5r-m92w
9.8
Apache Struts Remote Java Code Execution
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during certain exception handling for mismatched data types of properties, which allows remote attackers to execute arbitrary Java code via a crafted parameter.
- Record
GHSA-4wrr-9h5r-m92w- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-94
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.struts:struts2-coreMaven |
before 2.2.3.1 | 2.2.3.1 |
org.apache.struts.xwork:xwork-coreMaven |
before 2.2.3.1 | 2.2.3.1 |
org.apache.struts:struts2-coreMaven |
before 2.2.3.1, plus listed versions 2.0.112.0.11.12.0.11.22.0.122.0.14 Show 11 moreShow less2.0.52.0.62.0.82.0.92.1.22.1.62.1.82.1.8.12.2.12.2.1.12.2.3 |
2.2.3.1 |
org.apache.struts.xwork:xwork-coreMaven |
before 2.2.3.1, plus listed versions 2.2.12.2.1.12.2.3 |
2.2.3.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Exploit-DB | Apache Struts 2 < 2.3.1 - Multiple Vulnerabilities | 2012-01-06 |
| Metasploit | Apache Struts Remote Command Execution | 2012-01-06 |
| Exploit-DB | Apache Struts 2.2.1.1 - Remote Command Execution (Metasploit) | 2012-06-05 |
History
| Recorded | Changed | Sources |
|---|---|---|
| exploitation, exploits | ||
| first indexed | CVE List, EUVD, Exploit-DB, GitHub Advisories, CISA KEV, Metasploit, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2012-0391 is a critical vulnerability (CVSS 9.8) in Apache Struts, published January 8, 2012. CISA lists it as known to be exploited, since January 21, 2022. EUVD reports exploitation since January 21, 2022. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 75.6%, the 99th percentile. Fixed in org.apache.struts:struts2-core 2.2.3.1.
References
exploit-db.com/exploits/18329
archives.neohapsis.com/archives/bugtraq/2012-01/0031.html
struts.apache.org/2.x/docs/version-notes-2311.html
struts.apache.org/2.x/docs/s2-008.html
sec-consult.com/files/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt
issues.apache.org/jira/browse/WW-3668
Show 8 moreShow less
secunia.com/advisories/47393
cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2012-0391
nvd.nist.gov/vuln/detail/CVE-2012-0391
github.com/apache/struts/commit/25e50069d60434a30395e3a98357ffba2bed427e
github.com/apache/struts/commit/5f54b8d087f5125d96838aafa5f64c2190e6885b
github.com/apache/struts/commit/b4265d369dc29d57a9f2846a85b26598e83f3892
github.com/advisories/GHSA-4wrr-9h5r-m92w
github.com/apache/struts