Red Hat Bugzilla – Bug 1091938
CVE-2014-0114 Apache Struts 1: Class Loader manipulation via request parameters
Last modified: 2018-09-11 03:54:05 EDT
It was found that the Struts 1 ActionForm object allowed access to the 'class' parameter, which is directly mapped to the getClass() method. A remote attacker could use this flaw to manipulate the ClassLoader used by an application server running Struts 1. This could lead to remote code execution under certain conditions. The root cause of this issue is the fact that commons-beanutils exposes the class property by default, with no mechanism to disable access to it. If a framework built on commons-beanutils does not otherwise suppress access to the class property, then a remote attacker could use this flaw to manipulate the ClassLoader used by the underlying container. This could lead to remote code execution under certain conditions. commons-beanutils 1.9.2 has now shipped, including a specialized BeanIntrospector implementation that allows suppressing properties. Frameworks built on commons-beantutils can make use of the new pre-configured SuppressPropertiesBeanIntrospector to address this flaw.
Upstream reports/references mentioning struts 1.x impact: http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html http://www.nca.gr.jp/2014/struts_s20/index.html http://qiita.com/kawasima/items/670d2591bc8fea19dc1d Upstream announcement regarding vulnerability and mitigation: http://mail-archives.apache.org/mod_mbox/struts-user/201405.mbox/%3C53629980.8060805%40apache.org%3E
Created struts tracking bugs for this issue: Affects: fedora-all [bug 1092452]
Statement: This flaw allows attackers to manipulate ClassLoader properties on a vulnerable server. The impact of this depends on which ClassLoader properties are exposed. Exploits that lead to remote code execution have been published. These exploits rely on ClassLoader properties that are exposed on Tomcat 8, which is not included in any supported Red Hat products. However, some Red Hat products that ship Struts 1 do expose ClassLoader properties that could potentially be exploited. Additional information can be found in the Red Hat Knowledgebase article: https://access.redhat.com/site/solutions/869353
This issue has been addressed in following products: Red Hat Enterprise Linux 5 Via RHSA-2014:0474 https://rhn.redhat.com/errata/RHSA-2014-0474.html
This issue has been addressed in following products: Fuse ESB Enterprise 7.1.0 R1 P4 Via RHSA-2014:0498 https://rhn.redhat.com/errata/RHSA-2014-0498.html
This issue has been addressed in following products: Red Hat JBoss Fuse 6.1.0 Patch 1 Via RHSA-2014:0497 https://rhn.redhat.com/errata/RHSA-2014-0497.html
This issue has been addressed in following products: Red Hat Network Satellite Server v 5.4 Red Hat Network Satellite Server v 5.5 Red Hat Satellite Server v 5.6 Via RHSA-2014:0500 https://rhn.redhat.com/errata/RHSA-2014-0500.html
This issue has been addressed in following products: Red Hat JBoss Operations Network 3.2.1 Via RHSA-2014:0511 https://rhn.redhat.com/errata/RHSA-2014-0511.html
struts-1.3.10-10.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
Upstream Fix: (proposed for struts 1.3.x) https://github.com/apache/struts1/pull/1 Mitigation: http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Protect-your-Struts1-applications/ba-p/6463188#.VCaGk3V53Ua
This issue has been addressed in the following products: Red Hat JBoss Fuse Via RHSA-2018:2669 https://access.redhat.com/errata/RHSA-2018:2669