Vulnerability Database

Search the MergeBase vulnerability database for information on known vulnerabilities in open-source components.

Risk Score
risk image
9.3
Out of 10
Summary
CWEs
Published
2012-01-08
Updated
2018-11-23
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 Dynamic Application Surveillance and Hardening

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 Runtime

Shift Left Now

MergeBase directly integrates with Github and Bitbucket to provide an early warning system for your in-house development

Product Overview