Cloudanix VulnDB

CVE-2014-0114

None

CVSS

—

EPSS

99.0%

Published

Apr 30, 2014

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Attend

A flaw in widely used software libraries lets attackers take over servers by sending specially crafted web requests, potentially exposing sensitive data and disrupting operations until systems are updated.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability allows remote attackers to manipulate the ClassLoader by supplying a class parameter that bypasses suppression of the class property in Apache Commons BeanUtils, enabling arbitrary code execution through deserialization and reflection abuse.

Why it matters to the business

Successful exploitation can lead to full server compromise, data breaches, and service disruption on unpatched systems; the high EPSS score and weaponized exploit maturity indicate elevated risk of automated attacks even years after disclosure.

How an attack unfolds

An attacker sends crafted HTTP requests containing a malicious class parameter to an affected Struts application, which invokes getClass on the ActionForm and loads attacker-controlled classes via the manipulated ClassLoader, achieving remote code execution without authentication.

How to fix it

Upgrade to fixed package versions such as linux-azure 4.15.0-1023.24~14.04.1 on Ubuntu 14.04 LTS; for Struts applications, migrate away from Struts 1.x or apply patches that suppress the class property in BeanUtils 1.9.2 or later.

How to confirm the fix worked

Verify package versions match or exceed the fixed releases listed for each distribution; test affected endpoints with benign class parameter inputs to confirm rejection; review application dependency trees to ensure no vulnerable commons-beanutils JARs remain.

Typical attack path

  1. Identify publicly exposed Struts 1.x endpoints or applications using vulnerable BeanUtils versions
  2. Craft and send HTTP requests with a manipulated class parameter targeting ActionForm objects
  3. Trigger ClassLoader manipulation to load and execute arbitrary attacker-supplied classes
  4. Establish persistence or exfiltrate data after achieving code execution

How to detect it

Review web server and application logs for requests containing class parameters passed to ActionForm or similar objects; search for process executions or file writes indicative of unexpected ClassLoader activity; correlate with historical access logs around the time of known weaponized exploit availability.

  • class=.*ActionForm
  • getClass.*class parameter
  • manipulated ClassLoader in Struts request logs

What your security team should do

  • Immediately apply the specified fixed package versions on all affected Ubuntu systems
  • Scan application inventories for any remaining Struts 1.x or BeanUtils <=1.9.1 usage
  • Implement WAF rules to block requests containing suspicious class parameters
  • Monitor EPSS trends and exploit maturity indicators for similar legacy components

The record

Apache Commons BeanUtils, as distributed in lib/commons-beanutils-1.8.0.jar in Apache Struts 1.x through 1.3.10 and in other products requiring commons-beanutils through 1.9.2, does not suppress the class property, which allows remote attackers to "manipulate" the ClassLoader and execute arbitrary code via the class parameter, as demonstrated by the passing of this parameter to the getClass method of the ActionForm object in Struts 1.

Affected packages

Ecosystem Package Introduced Fixed
Maven commons-beanutils:commons-beanutils 1.8.0 1.9.4
Debian:10 commons-beanutils 0 1.9.2-1
Debian:11 commons-beanutils 0 1.9.2-1
Debian:12 commons-beanutils 0 1.9.2-1
Debian:13 commons-beanutils 0 1.9.2-1
Debian:6.0 libstruts1.2-java 0 1.2.9-4+deb6u1
Debian:7 libstruts1.2-java 0 1.2.9-5+deb7u1
Mageia:3 struts 0 1.3.10-3.1.mga3
Mageia:4 struts 0 1.3.10-4.1.mga4
Red Hat:enterprise_linux:5::client_workstation struts 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::client_workstation struts-debuginfo 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::client_workstation struts-javadoc 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::client_workstation struts-manual 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::client_workstation struts-webapps-tomcat5 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::server struts 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::server struts-debuginfo 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::server struts-javadoc 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::server struts-manual 0 0:1.2.9-4jpp.8.el5_10
Red Hat:enterprise_linux:5::server struts-webapps-tomcat5 0 0:1.2.9-4jpp.8.el5_10
Red Hat:network_satellite:5.4::el6 struts 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.4::el6 struts-core 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.4::el6 struts-extras 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.4::el6 struts-taglib 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.4::el6 struts-tiles 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.5::el6 struts 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.5::el6 struts-core 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.5::el6 struts-extras 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.5::el6 struts-taglib 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.5::el6 struts-tiles 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.6::el6 struts 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.6::el6 struts-core 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.6::el6 struts-extras 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.6::el6 struts-taglib 0 0:1.3.10-6.ep5.el6
Red Hat:network_satellite:5.6::el6 struts-tiles 0 0:1.3.10-6.ep5.el6
SUSE:Linux Enterprise Server 12 SP5-LTSS apache-commons-beanutils 0 1.11.0-7.3.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 apache-commons-beanutils 0 1.11.0-7.3.1
Ubuntu:Pro:14.04:LTS commons-beanutils 0 1.9.1-1ubuntu0.1~esm1
Ubuntu:Pro:16.04:LTS commons-beanutils 0 1.9.2-3ubuntu0.1~esm1
Ubuntu:Pro:18.04:LTS commons-beanutils 0 1.9.3-1ubuntu0.1~esm1
maven commons-beanutils/commons-beanutils 1.7.0 No fix
openSUSE:Tumbleweed apache-commons-beanutils 0 1.9.4-3.7
openSUSE:Tumbleweed apache-commons-validator 0 1.10.1-1.1

Related vulnerabilities