CVE-2012-0391

Code Injection in The ExceptionDelegator component in Apache Struts before 2

Verified by Precogs Threat Research
Last Updated: Apr 22, 2026
Base Score
9.8CRITICAL

Executive Summary

CVE-2012-0391 is a critical severity vulnerability affecting appsec. It is classified as Code Injection. This vulnerability is actively being exploited in the wild.

Precogs AI Insight

"The ExceptionDelegator in Apache Struts improperly evaluates OGNL expressions. Attackers send crafted HTTP requests containing OGNL payloads to execute arbitrary Java code on the server. Precogs API Security Engine intercepts unsafe dynamic code evaluation pathways."

Exploit Probability (EPSS)
High (88.3%)
Public POC
Available
Exploit Probability
High (84%)
Public POC
Actively Exploited
Affected Assets
appsecCWE-94

What is this vulnerability?

CVE-2012-0391 is categorized as a critical Code Injection flaw with a CVSS base score of 9.8. Based on our vulnerability intelligence, this issue occurs when the application fails to securely handle untrusted data boundaries.

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.

This architectural defect enables adversaries to bypass intended security controls, directly manipulating the application's execution state or data layer. Immediate strategic intervention is required.

Risk Assessment

MetricValue
CVSS Base Score9.8 (CRITICAL)
Vector StringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
PublishedJanuary 8, 2012
Last ModifiedApril 22, 2026
Related CWEsCWE-94, CWE-94

Impact on Systems

Data Exfiltration: Attackers can extract sensitive data from backend databases, configuration files, or internal services.

Authentication Bypass: Exploiting this flaw may allow unauthorized access to protected resources and administrative interfaces.

Lateral Movement: Once initial access is gained, attackers can pivot to internal systems and escalate privileges.

How to Fix and Mitigate CVE-2012-0391

  1. Apply Vendor Patches Immediately: This vulnerability is listed in CISA's Known Exploited Vulnerabilities catalog. Apply updates per vendor instructions.
  2. Verify Patch Deployment: Confirm all instances are updated using Precogs continuous monitoring.
  3. Review Audit Logs: Investigate historical access logs for indicators of compromise related to this attack surface.
  4. Implement Defense-in-Depth: Deploy WAF rules, network segmentation, and endpoint detection to limit blast radius.

Defending with Precogs AI

The ExceptionDelegator in Apache Struts improperly evaluates OGNL expressions. Attackers send crafted HTTP requests containing OGNL payloads to execute arbitrary Java code on the server. Precogs API Security Engine intercepts unsafe dynamic code evaluation pathways.

Use Precogs to continuously scan your codebase, binaries, APIs, and infrastructure for this vulnerability class and related attack patterns. Our AI-powered detection engine combines static analysis with threat intelligence to identify exploitable weaknesses before attackers do.

Start scanning with Precogs →

Vulnerability Code Signature

Attack Data Flow

StageDetail
SourceUntrusted payload via API or file upload
VectorInput passed to a dynamic code evaluation function
Sinkeval(), exec(), or similar unsafe execution sink
ImpactRemote Code Execution (RCE), full system compromise

Vulnerable Code Pattern

# ❌ VULNERABLE: Dynamic code evaluation
def process_data(user_input):
    # Taint sink: arbitrary code execution
    result = eval(user_input)
    return result

Secure Code Pattern

# ✅ SECURE: Safe parsing
import ast
def process_data(user_input):
    # Sanitized parsing: only evaluates literal structures
    result = ast.literal_eval(user_input)
    return result

How Precogs Detects This

Precogs AI Analysis Engine identifies unsafe dynamic code evaluation paths by tracking untrusted data into sinks like eval() and exec().\n

Related Vulnerabilitiesvia CWE-94

Is your system affected?

Precogs AI detects CVE-2012-0391 in compiled binaries, LLMs, and application layers — even without source code access.