В веб-сервере Apache Struts обнаружена ошибка безопасности, позволяющая злоумышленникам без аутентификации осуществлять выполнение произвольного кода на уязвимой системе.
Apache Software Foundation присвоила уязвимости средний уровень опасности, однако Cisco сообщила в своем бюллетене безопасности, что ошибке подвержено множество ее продуктов.
В чем проблема
Уязвимость содержится в функциональности Freemarker пакета Apache Struts 2. Freemarker Template Language — это популярный язык шаблонов, который применяется в Apache Struts и многих проектах на основе Java. С его помощью разработчики могут «биндить» значения параметров, передаваемых серверу пользовательским приложением, с внутренними декларированными переменными приложения.
Некорректная работа механизма позволяет атакующим отправлять серверу выражения Object Graph Navigation Language (OGNL), обработка которых может привести к выполнению на нем произвольного кода.
На данный момент точно подтвержден факт наличия уязвимости в нескольких продуктах Cisco:
- Cisco Digital Media Manager — патч для него не будет выпущен, поскольку поддержка продукта официально прекращена 19 августа 2016 года;
- Cisco Hosted Collaboration Solution for Contact Center;
- Cisco Unified Contact Center Enterprise;
- Cisco Unified Intelligent Contact Management Enterprise.
Под подозрением в наличии уязвимости находятся еще более 20 продуктов компании — о том, обнаружены ли в них проблемы безопасности, можно будет прочитать в обновлении бюллетеня безопасности.
Не только Cisco: взлом Equifax
Помимо уязвимости CVE-2017-12611 (S2-053), в Apache Struts ранее уже было найдено еще несколько аналогичных ошибок безопасности, среди которых CVE-2017-9805 (S2-052), CVE-2017-9791 (S2-048) и CVE-2017-5638 (S2-045). СМИ сообщали о том, что громкая утечка данных клиентов одного из американских кредитных бюро Equifax была следствием именно уязвимости в Apache Struts.
По мнению эксперта Positive Technologies Ли-Энн Гэллоуэй, подобные атаки могут проводиться для того, чтобы красть данные кредитных карт или использовать информацию людей с хорошей кредитной истории для обмана банков и получения займов. При этом пока нет информации о том, какая именно ошибка безопасности привела к проблеме.
Кроме того, позднее была обнаружена уязвимость и на сайте Equifax для осуществления кредитного мониторинга — с ее помощью злоумышленники могли красть данные пользователей ресурса.
XSS на сайте Equifax, изображение: ZDNet
По следам истории со взломом Equifax команда разработчиков Apache Struts выпустила заявление, в котором рекомендовала всем пользователям своего веб-сервера не надеяться на отсутствие уязвимостей в нем, а использовать для обеспечения безопасности инфраструктуры специализированные средства. Один из инструментов, позволяющих предотвращать атаки с применением подобных уязвимостей, — это WAF (мы разрабатываем свой межсетевой экран уровня приложений PT Application Firewall).
Как защититься
Несмотря на то, что уязвимости CVE-2017-12611 подвержен ряд продуктов Cisco, ее последствия не будут масштабными, поскольку для эксплуатации необходима специфическая конфигурация атакуемого приложения. Если же разработчики не используют конструкции языка шаблонов Freemarker или применяют только сущности read-only для инициализации атрибутов, то эксплуатировать ошибку не удастся.
Кроме того, эксперты Positive Technologies рекомендуют разработчикам приложений установить Apache Struts версий 2.5.12 или 2.3.34, которые содержат более жестко настроенную конфигурацию Freemarker. Это также поможет снизить риски успешной атаки.
xxxFeLiXxxx
Эм… Вообще-то Apache Struts это не веб-сервер, а всего лишь фреймворк MVC.