BDU:2015-00402
Oracle Corp., Broadcom Inc., Red Hat Inc., Apache Software Foundation, IBM Corp. VMware Aria Automation Orchestrator, VMware Aria Operations, IBM Sterling Field Sales, WebCenter Sit
2014-04-28
Уязвимость реализации метода 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>
Пока никто не поделился опытом.
Станьте первым!