CVE-2014-0112: High severity Apache struts vulnerability

Published Apr 25, 2014
·
Updated

It was found that the fix for CVE-2014-0094 was incomplete. The Struts 2 ParametersInterceptor was updated to block access to the 'class' parameter, but not all forms in which this parameter can be specified were blocked. A remote attacker could use this flaw to manipulate the ClassLoader used by the application server running Struts 2. This could lead to arbitrary remote code execution under certain conditions.

This flaw is reported to affect Struts 2.0.0 through to Struts 2.3.16.1. It is corrected in 2.3.16.2.

External References:

https://cwiki.apache.org/confluence/display/WW/S2-021

Other sources

ParametersInterceptor in Apache Struts before 2.3.20 does not properly restrict access to the getClass method, which allows remote attackers to "manipulate" the ClassLoader and execute arbitrary code via a crafted request. NOTE: this vulnerability exists because of an incomplete fix for CVE-2014-0094.

Affected Software

3 affected componentsFixes available
maven/org.apache.struts:struts2-core<2.3.20
2.3.20
redhat/Struts<2.3.16.2
2.3.16.2
Apache struts>=2.0.0<2.3.16.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade maven/org.apache.struts:struts2-core to a version that resolves this vulnerability.

    Fixed in 2.3.20
  2. Upgrade

    Upgrade redhat/Struts to a version that resolves this vulnerability.

    Fixed in 2.3.16.2
  3. Upgrade

    Upgrade Apache Struts 2 to a version that resolves this vulnerability.

    Fixed in 2.3.16.2
  4. Upgrade

    Upgrade Apache Struts 2 to a version that resolves this vulnerability.

    Fixed in 2.3.20
  5. Configuration

    Update Struts 2 ParametersInterceptor to fully block access to the getClass/class parameter (not only one form) to prevent remote manipulation of the ClassLoader and potential arbitrary remote code execution.

    Apache Struts 2 ParametersInterceptor access restriction for getClass/class parameter = block access to the 'class' parameter in all supported forms

Event History

Apr 25, 2014
CVE Published
12:00 AM
Data Sourced
12:00 AM
RemedyDescriptionSeverityAffected Software
Apr 29, 2014
CVE Published
via MITRE·10:00 AM
Data Sourced
via MITRE·10:00 AM
Description
Data Sourced
via NVD·10:37 AM
RemedyDescriptionSeverityWeaknessAffected Software
May 14, 2022
Advisory Published
12:54 AM

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2014-0112?

CVE-2014-0112 is considered a high-severity vulnerability due to its potential for remote code execution.

2

How do I fix CVE-2014-0112?

To fix CVE-2014-0112, update Apache Struts to version 2.3.20 or later.

3

Which versions of Apache Struts are affected by CVE-2014-0112?

CVE-2014-0112 affects Apache Struts versions from 2.0.0 up to but not including 2.3.20.

4

What type of vulnerability is CVE-2014-0112?

CVE-2014-0112 is a security vulnerability that allows remote code execution due to improper access restrictions.

5

Can CVE-2014-0112 be exploited remotely?

Yes, CVE-2014-0112 can be exploited remotely through crafted HTTP requests.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203