Risk Score
9.3
Out of 10
Summary
Published
Jan 8, 2012
Updated
Nov 23, 2018
Source
NVD
Identifier
CVE-2012-0391
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.
MergeBase Comment

Queue the Jaws theme music! This early remote-code-execution vulnerability in Apache Struts from 2012 happens to describe exactly the underlying cause of the 2017 Struts Disaster: an overly powerful and flexible exception handler based on OGNL ("Object Graph Navigation Library") that ran when Struts encountered bad data types.

When we say "bad data type" we mean something like this: Content-Type: (#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class))

A very bad data type, indeed!

Common Weakness Enumeration (CWE)

Discover More from MergeBase

Open Source Protection

Stay on top of the real risk of open source at any time.

Avoid false positives and get sophisticated upgrade guidance based on risk, compatibility and popularity.

More on Continuous Protection

Add RunTime Protection

Detect and defend against known-vulnerabilities at runtime. The only SCA to do so.

The quickest way to respond to an imminent threat like log4j with CVE-2021-44228.

More on Run-time Protection

Shift Left Now

CodeGreen is an early-warning defence for your in-house development and integrates directly into GitHub and BitBucket

More on BitBucket and Github apps