URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 115113
[ Назад ]

Исходное сообщение
"Критическая уязвимость в 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.ht... для связывания нескольких действий в одну последовательность и "postback (https://struts.apache.org/core-developers/postback-result.ht... для формирования формы на основе полученных параметров.
Второй вектор атаки связан с использованием тегов "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.me/opennews/art.shtml?num=47198) причиной одной из самых крупных утечек персональных данных, в результате которой атакующие получили доступ (https://www.opennet.me/opennews/art.shtml?num=47170) к сведениям о 143 млн американцев. По приблизительной оценке Struts применяется в web-приложениях 65% крупнейших компаний из списка Fortune 100,  поэтому выявленная уязвимость может привести к новой волне крупных утечек и взломов.

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


Содержание

Сообщения в этом обсуждении
"Критическая уязвимость в Apache Struts"
Отправлено Аноним , 24-Авг-18 02:48 
Что, опять?!

"Критическая уязвимость в Apache Struts"
Отправлено Аноним , 24-Авг-18 06:14 
Я, честно говоря, надеялся на какую-нибудь низкоуровневую жесть или хотя бы случайную/не корректную интерполяцию параметров… а тут почти что готовая ручка для RCE. Эх, обмельчало племя махровых энтерпрайзных джавистов.

"Критическая уязвимость в Apache Struts"
Отправлено йййй , 24-Авг-18 08:26 
Интересно, зачем интерполировать параметры..

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

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


"Критическая уязвимость в Apache Struts"
Отправлено Аноним , 24-Авг-18 08:50 
>пространства имён
>язык OGNL (Object-Graph Navigation Language)

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


"Критическая уязвимость в Apache Struts"
Отправлено Аноним , 24-Авг-18 09:07 
Предложение отклонено. Конвоиры, выведите его!

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


"Критическая уязвимость в Apache Struts"
Отправлено Dmitry77 , 24-Авг-18 12:10 
Это же проект начала 2000. В новых проектах очень давно не используют.

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

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


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

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


"Критическая уязвимость в Apache Struts"
Отправлено Аноним , 25-Авг-18 12:14 
это Struts 2. В Struts 1 таких уязвимостей нет и быть не может. Просто эти мастера-разработчики не смогли вовремя остановиться и родили Struts 2.