CVE-2012-0391 Apache Struts
| Affected software | Apache Struts |
|---|---|
| Severity | 9.8 Critical CVSS 3.1 3 scores |
| Fixed in | 2.2.3.1 |
| Weakness | Code injection (CWE-94) |
| Published | 8 Jan 2012 |
| Updated | 29 Sep 2026 |
Description
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.
CWE-20 · Improper input validation
Exploitation status
Exploited
Confirmed real-world exploitation.
Exploitation status
- CISA KEV listed Confirmed exploitation in the wild. Added 2022-01-21 · remediation due 2022-07-21 · ransomware use: unknown
- VulnCheck KEV listed Exploitation reported in the wild. 2 citations · earliest 2021-10-13.
- CISA Vulnrichment exploitation: active CISA records active exploitation. Automatable: yes, technical impact: total.
- Indexed PoC 3 indexed Published artifacts you can open, in Exploit-DB, Metasploit; first seen 2012-01-06.
- EPSS 76% chance in 30 days A model's forecast, not a report of exploitation. Higher than 99.5% of all scored CVEs.
VulnCheck KEV
Exploitation evidence from VulnCheck Known Exploited Vulnerabilities (VulnCheck KEV), used under VulnCheck's community terms. View CVE-2012-0391 in VulnCheck (free account).
| Evidence | Source | Detail | Date |
|---|---|---|---|
| Reported exploitation | fortiguard.com | /encyclopedia/ips/30956 | 2021-10-13 |
| Reported exploitation | cisa.gov | /sites/default/files/feeds/known_exploited_vulnerabilities.json | 2022-01-21 |
| Index | Artifact | Stars | First seen |
|---|---|---|---|
| Exploit-DB | Apache Struts 2.2.1.1 - Remote Command Execution (Metasploit) | 2012-06-05 | |
| Exploit-DB | Apache Struts 2 < 2.3.1 - Multiple Vulnerabilities | 2012-01-06 | |
| Metasploit | Apache Struts Remote Command Execution (excellent rank) |
Waratek protection
Waratek has a rule that blocks attacks on this vulnerability.
- Protection full Process, Filesystem
- Action available security rule
- Review human Researcher
- Record active
| Decided by | A researcher's recorded decision for this specific CVE |
|---|---|
| Finding | A researcher found this CVE protected by the ARMR Process rule, ARMR Filesystem Write. |
Waratek research note
written 2026-11-13Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.
Comments
Rule Name: ARMR Process rule, ARMR Filesystem Write
OGNL injection via the Struts conversion-error override expression. The Process rule (with /bin/* in its execute list) blocks the Runtime.exec payloads; a filesystem write rule on the server working directory and web root blocks the Java target's JAR and JSP drops. An expression that reads files or data directly in Java, without starting a program or writing a file there, is not stopped.
How to mitigate CVE-2012-0391
Upgrade Apache Struts to 2.2.3.1 or later. Until you can, Waratek RASP blocks exploitation with its process and filesystem rules. It runs inside the Java application, with no code changes.
CVSS
9.8 CRITICAL
v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
3 metrics
CVSS
9.8 CRITICAL v3.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
3 metrics
We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| 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 |
NVD | Primary | published |
| 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 |
CISA-ADP | Secondary | |
| CVSS 2.0 | 9.3 | none | AV:N/AC:M/Au:N/C:C/I:C/A:C |
NVD | Primary |
Affected software and releases
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.apache.struts:struts2-core |
0 | 2.2.3.1 |
unbounded |
org.apache.struts.xwork:xwork-core |
0 | 2.2.3.1 |
unbounded |
Products and versions
3 products, 3 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | apache | struts | generic | < 2.2.3.1 |
| osv | org.apache.struts | struts2-core | generic | < 2.2.3.1 |
| osv | org.apache.struts.xwork | xwork-core | generic | < 2.2.3.1 |
References
Timeline
Timeline
| Published | 2012-01-08 | By the CVE Program. |
|---|---|---|
| VulnCheck KEV: earliest evidence | 2021-10-13 | Date of the oldest evidence of exploitation in VulnCheck KEV's record. VulnCheck does not publish the date it listed the CVE. |
| Added to CISA KEV | 2022-01-21 | Listed in CISA's Known Exploited Vulnerabilities catalog. |
| VulnCheck KEV: latest evidence | 2022-01-21 | Date of the newest report, exploit reference or honeypot sighting in VulnCheck KEV's record. |
| NVD record modified | 2026-06-16 | NVD's own last-modified date for this record. |
| Last VRT activity | 2026-09-29 | Most recent commit touching this CVE's classification, patch or rule file. |
| Classification created | 2026-11-13 | First commit adding this CVE's research note. |