Найдена уязвимость, угрожающая большей части крупнейших компаний мира

Безопасность Бизнес
мобильная версия
, Текст: Валерия Шмырова

Во фреймворке Apache Struts найдена уязвимость, которая позволяет исполнить произвольный код на сервере, где работает веб-приложение, созданное с помощью этого фреймворка. Apache Struts используется в 65% крупнейших мировых компаний из списка Fortune 100, особенно он популярен у авиалиний и финансовых организаций.


Уязвимость в Apache Struts

Исследователи кибербезопасности из сообщества LGTM обнаружили критическую уязвимость в Apache Struts — популярной платформе с открытым исходным кодом для разработки веб-приложений на языке Java. Уязвимость присутствует во всех версиях Struts с 2008 г. Замечена она была в версии 2.5.13. Баг затрагивает веб-приложения, созданные с помощью Apache Struts и использующие плагин REST. Уязвимость получила название CVE 2017-9805. Команда разработчиков Apache Struts подтвердила серьезность проблемы и уже выпустила патч.

Найденная уязвимость позволяет злоумышленнику удаленно выполнить произвольный код на любом сервере, где запущено приложение, построенное с использованием Apache Struts и плагина REST. Проблема заключается в том, что Apache Struts некорректно десериализует недоверенные данные. В ходе атаки хакер может собрать данные на сервере и отправить их, куда пожелает. Также сервер можно использовать как точку доступа к другим участкам той же сети, причем корпоративные файерволы не смогут их защитить.

По словам исследователя Ман Юэ Мо (Man Yue Mo), обнаружившего баг, использовать его предельно просто — хакеру достаточно обычного веб-браузера. Команда LGTM сообщает, что у них есть простой рабочий эксплойт для этой уязвимости, которые они пока не публикуют.

Зона поражения

Исследователь Финтан Райан (Fintan Ryan) из аналитической фирмы RedMonk утверждает, что как минимум 65% крупнейших компаний, входящих в рейтинг Fortune 100, активно используют приложения, созданные с помощью Apache Struts. Точно известно, что такие приложения есть у авиастроительной компании Lockheed Martin, финансового конгломерата Citigroup, сотового оператора Vodafone, авиакомпании Virgin Atlantic, популярного американского журнала Reader’s Digest, поставщика товаров для офиса Office Depot, телеканала Showtime и даже у Налогового управления США.

Уязвимость фреймворка Apache Struts угрожает компаниям из рейтинга Fortune 100

По словам Ман Ю Мо, приложения на основе Apache Struts особенно широко используются в сервисах покупки авиабилетов, а также в финансовых организациях. Опрошенный командой LGTM глава службы безопасности банка, использующего стандарт Tier 1, подтвердил, что Apache Struts повсеместно используется на сайтах и приложениях, и что для решения проблемы недостаточно будет просто применить патч, придется менять сам код. По его словам, последствия использования этого бага могут быть хуже, чем у нашумевшей уязвимости Poodle, найденной в протоколе SSL 3.0 в 2014 г.

Что такое Apache Struts

Apache Struts — это фреймворк с открытым исходным кодом, с помощью которого пишутся веб-приложения на Java EE. Фреймворк базируется на Java Servlet API и предусматривает реализацию паттерна MVC. Apache Struts был разработан Крейгом МакКланаханом (Craig McClanahan), Apache Foundation получила его в мае 2000 г. Изначально развивался в рамках Apache Jakarta Project и назывался Jakarta Struts. В 2005 г. стал проектом Apache верхнего уровня.

Struts был создан с целью отделить модель, то есть логику приложения, которая взаимодействует с базой данных, от представления HTML-страницы и от контроллера, передающего данные между представлением и моделью.

У Apache Struts есть ответвление — фреймворк WebWork такой же архитектуры, но с рядом усовершенствований. В декабре 2005 г. было объявлено, что Struts снова объединится с WebWork. WebWork 2.2 был обозначен как Apache Struts 2, выпущенный в феврале 2007 г.