The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Критическая уязвимость в Apache Struts"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Критическая уязвимость в Apache Struts"  +/
Сообщение от opennews (??), 24-Авг-18, 01:35 
В web-фреймворке Apache Struts, применяемом для создания web-приложений на языке Java с использованием парадигмы Model-View-Controller, выявлена уязвимость (https://cwiki.apache.org/confluence/display/WW/S2-057) (CVE-2018-11776 (https://security-tracker.debian.org/tracker/CVE-2018-11776)), позволяющая удалённому злоумышленнику выполнить свой код в системе через отправку специально оформленного запроса. Проблема устранена в выпусках Struts 2.3.35 и 2.5.17 и проявляется в приложениях, в которых не выставлено пространство имён для всех определённых в конфигурации результатов.


Уязвимость вызвана некорректной проверкой передаваемых извне данных в ядре Struts и может проявляться различными способами. В настоящее время известно (https://semmle.com/news/apache-struts-CVE-2018-11776) два вектора атаки, позволяющих выполнить код на сервере. Для успешной атаки требуется выполнение двух условий: Во-первых, в настройках флаг  alwaysSelectFullNamespace должен быть выставлен в значение "true" (автоматически выставляется при использовании плагина Convention). Во-вторых, в приложении должно применяться действие, указанное в файле конфигурации или Java-коде без указания пространства имён или с указанием маски для пространств имён ("/*").


Первый известный вектор атаки затрагивает приложения, в которых применяются следующие три типа результата (result type="...") без указания пространств имён: "redirectAction (https://struts.apache.org/core-developers/redirect-action-re...)" для переброса на другой URL, "chain (https://struts.apache.org/core-developers/action-chaining.html)" для связывания нескольких действий в одну последовательность и "postback (https://struts.apache.org/core-developers/postback-result.html)" для формирования формы на основе полученных параметров.
Второй вектор атаки связан с использованием тегов "url (https://struts.apache.org/maven/struts2-core/apidocs/org/apa...)" в шаблонах страниц, которые вызываются из пакетов без указания атрибута  с пространством имён.


Эксплуатация уязвимости производится через отправку HTTP-запроса с включением дополнительного параметра, определяющего собственное пространство имён. Из-за отсутствия надлежащих проверок значение параметра может включать выражение на языке OGNL (https://en.wikipedia.org/wiki/OGNL) (Object-Graph Navigation Language), позволяющем манипулировать настройками и поведением Apache Struts, а также запускать (https://securingtomorrow.mcafee.com/mcafee-labs/analyzing-cv.../) произвольный Java-код в контексте сервера.

Напомним, что прошлая критическая уязвимость в Apache Struts, которая не была вовремя устранена в инфраструктуре компании Equifax, послужила (https://www.opennet.ru/opennews/art.shtml?num=47198) причиной одной из самых крупных утечек персональных данных, в результате которой атакующие получили доступ (https://www.opennet.ru/opennews/art.shtml?num=47170) к сведениям о 143 млн американцев. По приблизительной оценке Struts применяется в web-приложениях 65% крупнейших компаний из списка Fortune 100,  поэтому выявленная уязвимость может привести к новой волне крупных утечек и взломов.

URL: https://semmle.com/news/apache-struts-CVE-2018-11776
Новость: https://www.opennet.ru/opennews/art.shtml?num=49174

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

4. "Критическая уязвимость в Apache Struts"  +4 +/
Сообщение от Аноним (-), 24-Авг-18, 02:48 
Что, опять?!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Критическая уязвимость в Apache Struts"  +/
Сообщение от Аноним (8), 24-Авг-18, 06:14 
Я, честно говоря, надеялся на какую-нибудь низкоуровневую жесть или хотя бы случайную/не корректную интерполяцию параметров… а тут почти что готовая ручка для RCE. Эх, обмельчало племя махровых энтерпрайзных джавистов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Критическая уязвимость в Apache Struts"  +/
Сообщение от йййй (?), 24-Авг-18, 08:26 
Интересно, зачем интерполировать параметры..
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Критическая уязвимость в Apache Struts"  –1 +/
Сообщение от Аноним (12), 24-Авг-18, 08:50 
>пространства имён
>язык OGNL (Object-Graph Navigation Language)

Предлагаю считать понятия "JAVA" и "Оверинженеринг" синонимами.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Критическая уязвимость в Apache Struts"  +2 +/
Сообщение от Аноним (13), 24-Авг-18, 09:07 
Предложение отклонено. Конвоиры, выведите его!

> Оверинженеринг

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Критическая уязвимость в Apache Struts"  +2 +/
Сообщение от обмельчавший (?), 24-Авг-18, 09:21 
зато у нас можно запускать java-код, а не какой-то дурацкий sql или вовсе только нагадить в fs/стянуть неположенное как у этих самоучек-с-джангой и phpшных вем-макак!

Энтерпрайз, все дела!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Критическая уязвимость в Apache Struts"  +/
Сообщение от Dmitry77 (ok), 24-Авг-18, 12:10 
Это же проект начала 2000. В новых проектах очень давно не используют.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Критическая уязвимость в Apache Struts"  +/
Сообщение от Аноним (16), 25-Авг-18, 02:24 
> Это же проект начала 2000. В новых проектах очень давно не используют.

А что используют?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Критическая уязвимость в Apache Struts"  +/
Сообщение от Аноним (17), 25-Авг-18, 12:14 
это Struts 2. В Struts 1 таких уязвимостей нет и быть не может. Просто эти мастера-разработчики не смогли вовремя остановиться и родили Struts 2.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "Критическая уязвимость в Apache Struts"  +/
Сообщение от Аноним (18), 27-Авг-18, 09:44 
В основном - Spring. Там ребята сделали много чего для упрощения разработки (правда местами настолько упростили, что некоторые вещи теперь вообще только через одно место можно сделать....)

А Struts я уже много лет нигде не встречал, даже старые проекты на нем уже практически все загнулись.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру