Уязвимость реализации класса преобразования выражений OGNL (Object-Graph Navigation Language) структуры шаблонов команд XWork программной платформы Apache Struts связана с недостатками разграничения доступа при использовании класса ParametersInterceptor с параметром #. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, обойти ограничения безопасности и выполнить произвольные команды с помощью специально созданных объектов #context, #_memberAccess, #root, #this, #_typeResolver, #_classResolver, #_traceEvaluations, #_lastEvaluation, #_keepLastEvaluation
Использование рекомендаций:
Для Apache Struts:
https://cwiki.apache.org/confluence/display/WW/S2-005
Для программных продуктов Atlassian:
https://confluence.atlassian.com/fisheye/fisheye-security-advisory-2010-06-16-960161732.html
Для программных продуктов IBM:
https://www.ibm.com/blogs/psirt/security-bulletin-ibm-call-center-and-apache-struts-struts-upgrade-strategy-various-cves-see-below/
Для программных продуктов Cisco:
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20140709-struts2
Компенсирующие меры:
Следующая дополнительная конфигурация interceptor-ref поможет исключить вредоносные параметры:
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*,.*\\.*,.*\(.*,.*\).*,.*@.*</param>
</interceptor-ref>
| Балл | 5 — средняя опасность |