Уязвимость реализации метода getClass программной платформы Apache Struts связана с недостатками разграничения доступа при использовании класса ParametersInterceptor с параметром class. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, выполнить произвольный код путем отправки специально созданного запроса
Использование рекомндаций:
Для Apache Struts:
https://cwiki.apache.org/confluence/display/WW/S2-021
Для Red Hat Inc.:
https://access.redhat.com/security/cve/cve-2014-0112
Для продуктов IBM Corp.:
http://www-01.ibm.com/support/docview.wss?uid=swg21676706
Для продуктов VMware:
https://www.vmware.com/security/advisories/VMSA-2014-0007.html
Для продуктов Oracle:
https://www.oracle.com/security-alerts/cpuapr2015.html
Организационные меры:
Следует исключить параметр "class", заменив его на '(.*\.|^|.*|\[('|"))class(\.|('|")]|\[).*' в списке excludeParams как показано ниже:
<interceptor-ref name="params">
<param name="excludeParams">(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*</param>
</interceptor-ref>
| Балл | 7.5 — высокая опасность |