Wavense
VulnerabilitiesVendorsMy Stack
Wavense© 2026 Wavense. All rights reserved.Privacy PolicyTerms & Conditions
Vulnerabilities/CVE-2012-0391
Vulnerability dossier

CVE-2012-0391

Apache Struts OGNL Remote Code Execution Vulnerability

VendorapachePublishedJan 8, 2012SourceNVDWeaknessCWE-94
Act now

Actively exploited in the wild. Patch or mitigate immediately — don't wait for a maintenance window.

⚙ WeaponizedMetasploit module availableopen ↗PoCPublic exploit on Exploit-DB#18984 ↗#18329 ↗
Severity
Critical · 9.8
CVSS base score
Exploitation
In the wild
CISA KEV · Metasploit · Exploit-DB
Predicted risk
76% model
EPSS forecast — overtaken by confirmed exploitation
Exposure
Internet-facing
Exploitable remotely, no login, no user action
01

What's the risk?

An unauthenticated attacker, remotely over the network, with no user interaction, can fully compromise the system — steal data, tamper with it and take it offline.

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.

How it's exploitedMITRE ATT&CK · inferred from weakness & vector
Initial Access
T1190Exploit Public-Facing Application
Execution
T1059Command and Scripting InterpreterT1203Exploitation for Client Execution

Inferred from the weakness type (CWE) and how the flaw is reached — the techniques an attacker would chain to exploit this. Real-world corroboration appears here as threat intel is folded in.

02

Who's exploiting it?

Corroborated threat activity referencing this CVE — with source and confidence, not inference.

Confirmed exploited in the wild. CISA KEV · catalogued Jan 21, 2022

Named threat actors and observed ATT&CK techniques appear here as intel feeds are folded in — the ATT&CK chain above stays inferred until then.

03

Are we affected?

1
  • Affectedapache · struts< 2.2.3.1↑ fixed 2.2.3.1
04

What to do

Generated by Wavense from the CVE record — an immediate mitigation and the permanent fix.

  1. !

    Mitigate now

    Implement a Web Application Firewall (WAF) to detect and block suspicious OGNL expressions or unusual parameter values in HTTP requests targeting Struts applications. Restrict network access to affected applications to trusted users or IP ranges, if feasible, to reduce exposure. Enhance monitoring of application logs for unusual exception patterns or OGNL evaluation errors, which may signal an ongoing exploit attempt.

  2. ✓

    Permanent fix

    Upgrade Apache Struts to version 2.2.3.1 or a later stable release immediately to address the OGNL expression injection flaw. This vulnerability specifically affects Apache Struts versions prior to 2.2.3.1 in the ExceptionDelegator component. Applying the vendor-provided patch is the permanent solution to prevent arbitrary code execution via crafted parameters during exception handling.

Technical details— weakness, CVSS vector & calculator, related CVEs

Business impact

Remote attackers can execute arbitrary Java code on the server running the vulnerable Apache Struts application. This allows for complete system compromise, enabling data exfiltration, service disruption, and the ability to pivot to other internal network resources. The consequences are severe, including potential loss of sensitive data and operational integrity.

Weakness

1
CWE-94Common Weakness Enumeration · MITRE definition

CVSS 3.1 details

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
0.0
/ 10.0 base
Critical severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Exploitability metrics
Attack VectorAV
Remotely exploitable across a network
Attack ComplexityAC
No special conditions required
Privileges RequiredPR
No authorization needed
User InteractionUI
No user participation needed
Impact metrics
ScopeS
Impact confined to the vulnerable component
ConfidentialityC
Total loss of confidentiality
IntegrityI
Total loss of integrity
AvailabilityA
Total loss of availability

Related vulnerabilities

Other CVEs affecting struts

NVD
9.8Critical
CVE-2020-17530KEV⚙ WeaponizedExploit likely

Forced OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution. Affected software : Apache Struts 2.0.0 - Struts 2.5.25.

oracleCWE-917Expression Language InjectionNetworkLow effortNo authNo interactionCIA
2020-12-10
NVD
9.8Critical
CVE-2017-9791KEV⚙ WeaponizedExploit likely

The Struts 1 plugin in Apache Struts 2.1.x and 2.3.x might allow remote code execution via a malicious field value passed in a raw message to the ActionMessage.

apacheCWE-20Improper Input ValidationNetworkLow effortNo authNo interactionCIA
2017-07-10
NVD
9.8Critical
CVE-2017-5638KEV⚙ WeaponizedExploit likely

The Jakarta Multipart parser in Apache Struts 2 2.3.x before 2.3.32 and 2.5.x before 2.5.10.1 has incorrect exception handling and error-message generation during file-upload attempts, which allows remote attackers to execute arbitrary commands via a crafted Content-Type, Content-Disposition, or Content-Length HTTP header, as exploited in the wild in March 2017 with a Content-Type header containing a #cmd= string.

ibmCWE-755Improper Handling of Exceptional ConditionsNetworkLow effortNo authNo interactionCIA
2017-03-11
NVD
9.8Critical
CVE-2013-2251KEV⚙ WeaponizedExploit likely

Apache Struts 2.0.0 through 2.3.15 allows remote attackers to execute arbitrary OGNL expressions via a parameter with a crafted (1) action:, (2) redirect:, or (3) redirectAction: prefix.

apacheCWE-74NetworkLow effortNo authNo interactionCIA
2013-07-19
NVD
8.1High
CVE-2018-11776KEV⚙ WeaponizedExploit likely

Apache Struts versions 2.3 to 2.3.34 and 2.5 to 2.5.16 suffer from possible Remote Code Execution when alwaysSelectFullNamespace is true (either by user or a plugin like Convention Plugin) and then: results are used with no namespace and in same time, its upper package have no or wildcard namespace and similar to results, same possibility when using url tag which doesn't have value and action set and in same time, its upper package have no or wildcard namespace.

oracleNetworkHigh effortNo authNo interactionCIA
2018-08-22
NVD
8.1High
CVE-2017-9805KEV⚙ WeaponizedExploit likely

The REST Plugin in Apache Struts 2.1.1 through 2.3.x before 2.3.34 and 2.5.x before 2.5.13 uses an XStreamHandler with an instance of XStream for deserialization without any type filtering, which can lead to Remote Code Execution when deserializing XML payloads.

ciscoCWE-502Deserialization of Untrusted DataNetworkHigh effortNo authNo interactionCIA
2017-09-15
NVD
7.5High
CVE-2006-1547KEVExploit likely

ActionForm in Apache Software Foundation (ASF) Struts before 1.2.9 with BeanUtils 1.7 allows remote attackers to cause a denial of service via a multipart/form-data encoded form with a parameter name that references the public getMultipartRequestHandler method, which provides further access to elements in the CommonsMultipartRequestHandler implementation and BeanUtils.

apacheCWE-749Exposed Dangerous Method or FunctionNetworkLow effortNo authNo interactionCIA
2006-03-30
NVD
9.8Critical
CVE-2026-104711

Improper neutralization of special elements used in an expression language statement ('Expression Language Injection') vulnerability in Apache Struts. If the application is configured to use the legacy RESTful action mapper, a crafted request can inject an OGNL expression that may lead to remote code execution. Struts 7 is affected only when the OGNL allowlist is disabled; it is enabled by default. Applications using the default action mapper, the restful2 mapper, or the Struts REST plugin are not affected. This issue affects Apache Struts: from 2.0.0 through 2.3.37, from 2.5.0 through 2.5.33, from 6.0.0 through 6.11.0, from 7.0.0 through 7.3.0. Users are recommended to upgrade to version 6.12.0 or 7.4.0, which fixes the issue.

apacheCWE-917Expression Language InjectionNetworkLow effortNo authNo interactionCIA
2026-10-05
0.0
/ 10.0 base
Critical severity
Key facts
CVE ID
CVE-2012-0391
Published
Jan 8, 2012
Last modified
Jun 16, 2026
CVSS
9.8 (v3.1)
EPSS
75.60%
In CISA KEV
Yes
Confidence
100/100
Weakness
CWE-94
Fixed in
2.2.3.1
Timeline
  1. Jan 8, 2012Published to NVDNVD
  2. Jun 16, 2026Record last modifiedNVD
  3. Aug 22, 2026AI analysis generatedWavense
View on NVD