✔В Apache Struts 2 нашли критический RCE-баг - «Новости»
);
В Apache Struts 2 исправили RCE-уязвимость CVE-2018-11776, представлявшую опасность для версий от Struts 2.3 до 2.3.34, от Struts 2.5 до 2.5.16, а также, возможно, для более старых вариаций фреймворка.
Патчи представлены с версиями Struts 2.3.35 и 2.5.17. Также существуют временные способы решения проблемы, однако разработчики называют их ненадежными и настоятельно рекомендуют пользователям обновиться. Стоит сказать, что эксперты компании Semmle, обнаружившие баг, уже опубликовали PoC-эксплоит на GitHub и детальное техническое описание проблемы, так что к разработчикам лучше прислушаться.
Проблема проявляется при определенных конфигурациях Apache Struts и связана с недостаточной валидацией в ядре фреймворка поступающих извне данных. Эксплуатация бага возможна через посещение специально созданного URL на уязвимом сервере, что позволит атакующему выполнить вредоносный код и полностью перехватить контроль.
Чтобы RCE-уязвимость представляла угрозу, необходимо соблюдение следующих условий:
- флаг alwaysSelectFullNamespace должен быть установлен на значение true;
- файл конфигурации должен содержать теги action или url, для которых не определен атрибут с пространством имен или указаны подстановочные символы пространства имен.
Разработчики предупреждают, что даже если приложение не является уязвимым сейчас, малейшие изменения в настройках могут сделать его уязвимым в будущем.
Напомню, что именно благодаря другой уязвимости в составе Apache Struts (CVE-2017-5638) произошел взлом бюро кредитных историй Equifax, в результате которого случилась масштабная утечка данных, затронувшая более 150 млн человек.