The OpenNET Project / Index page

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

Критическая уязвимость в Apache Struts

06.09.2017 08:12

Опубликовано обновление web-фреймворка Apache Struts 2.5.13, применяемого для создания web-приложений на языке Java с использованием парадигмы Model-View-Controller. В состав выпуска включено исправление критической уязвимости (CVE-2017-9805), позволяющей выполнить код на стороне сервера. Атака может быть проведена через отправку специально оформленного HTTP-запроса. Уязвимость проявляется при использовании плагина REST с обработчиком XStream для десериализации XML-блоков (применяется по умолчанию).

Пользователям рекомендуется как можно скорее установить исправление, так как не исключено повторение весенней массированной атаки на корпоративные сети, в которых применяются приложения на базе Apache Struts. По статистике около 65% компаний из списка Fortune 100 используют приложения на базе Struts и почти во всех подобных корпоративных приложениях используется плагин REST. В частности, системы на базе Apache Struts применяются в таких компаниях, как Lockheed Martin, the IRS, Citigroup, Vodafone, Virgin Atlantic, Reader’s Digest, Office Depot и SHOWTIME.

С учётом распространённости Apache Struts в корпоративной среде для создания публичных web-сервисов (например Struts используется во многих банковских службах и системах бронирования авиабилетов), ущерб от эксплуатации уязвимости может быть очень значительным. Например, руководитель службы безопасности одного из американских банков первого уровня считает, что атаки на Apache Struts представляют большую угрозу, чем уязвимость POODLE в SSL.

Проблема присутствует в коде десериализации внешних данных, затрагивает все версии Apache Struts, выпущенные с 2008 года. Уязвимость пока остаётся неисправленной в дистрибутивах Debian, EPEL-7, UbuntuSUSE, Fedora и RHEL Struts 2 не поставляется). Если нет возможности обновить версию Struts в качестве обходного пути блокирования уязвимости предлагается удалить плагин Struts REST. В случае если web-приложение выполняется в контейнере Apache Tomcat, запускаемом с правами root, в результате атаки сразу может быть получен root-доступ к системе.

  1. Главная ссылка к новости (https://lgtm.com/blog/apache_s...)
  2. OpenNews: Волна взломов сайтов через неисправленную уязвимость в Apache Struts
  3. OpenNews: Опасные уязвимости в Apache Struts, Django и Adobe Flash Player
  4. OpenNews: Объявление о прекращении поддержки web-фреймворка Apache Struts 1
  5. OpenNews: В Apache Struts 2.0.12 исправлены две серьезные уязвимости
  6. OpenNews: Более 150 Linux-cерверов хостинг-оператора Nayana оказались поражены вредоносным шифровальщиком
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/47139-apache
Ключевые слова: apache, struts
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.9, Аноним (-), 10:27, 06/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > В случае если web-приложение выполняется в контейнере Apache Tomcat, запускаемом с правами root.

    95%

     
     
  • 2.13, Аноним (-), 11:47, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Недавно один провайдер VDS/VPS переносил виртуалки на "другое" оборудование, у нас свалился серевер ( точнее сервер то живой остался но полетели exim/apache/mariadb, начали разбираться - в каталогах слетели права на папки ( что-то там в настройках xen на сервере было не то ), так вот что больше всего поразило, это то что при переносе у большинства виртуалок всё было нормально со слов хостинга, а наша система оказалась чувствительной к семне прав.
    Я сначала даже засомневался, но закрались смутные сомнения, если всё работает под root, то ведь и не свалится, и не заметишь :)
     
     
  • 3.14, Crazy Alex (ok), 12:04, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, вот как раз для вебовской VDS разница невелика - рута поломают или простого юзера, так что они могли быть даже где-то правы... Только на фиг такие прецеденты.

    Кстати, в докерах всяких ещё всё обычно от рута крутится.

     
     
  • 4.16, пох (?), 12:09, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Ну, вот как раз для вебовской VDS разница невелика

    это если в нее не понапихано стотыщ дерьмохостингов разом. А оно обычно так и делают.

    А вот как раз взрослым системам - совершенно все равно.

    > Кстати, в докерах всяких ещё всё обычно от рута крутится.

    опять же - предположим даже у тебя все было "правильно", и стратс крутился в докер-контейнере, и не от рута. Кому от этого щастье, если все, к чему он имел доступ, поимел внезапно хацкер васья?
    Ну, может на drop database у него прав не хватит, и это - к сожалению, потому что такое как раз сразу заметишь, и восстановишь снапшот. А поменять что-нибудь в базе - и ты об этом никогда не узнаешь и от легальной транзакции никак не отличишь. (а докер еще и уменьшает шансы сделать правильный проактивный ids...впрочем, кто их на деле делает)


     
     
  • 5.18, Аноним (-), 12:19, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Кстати, в докерах всяких ещё всё обычно от рута крутится.
    > опять же - предположим даже у тебя все было "правильно", и стратс
    > крутился в докер-контейнере, и не от рута. Кому от этого щастье,
    > если все, к чему он имел доступ, поимел внезапно хацкер васья?

    ИМХО тут вопрос в попадании под массовую раздачу автоматическими скриптами или нет, если за вас взялись вручную и цель слить данные, то скорее неважно какой там уровень защиты в системе после вскрытия калитки.

     
     
  • 6.20, пох (?), 12:23, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ИМХО тут вопрос в попадании под массовую раздачу автоматическими скриптами или нет,

    ну опять же - а что за д..л писал автоматический скрипт?
    Если он хотел просто спам с тебя порассылать, или как jumphost употребить - то и твои потери в любом случае невелики. А если это автоматический скрипт по поиску сливабельных ценных данных, то ему как раз в этом докере будет уютно и приятно, после автоперезапуска по графику (как это принято у контейнерных) ты и следов-то его не найдешь, а он уже все унес, что хотел.

     
     
  • 7.40, Аноним (-), 01:55, 14/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ну опять же - а что за д..л писал автоматический скрипт?

    Возможно достаточно примитивный и просто желавший денег без особых усилий.

     
  • 5.19, Crazy Alex (ok), 12:21, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кхх, стотыщ дерьмохостингов на одной vds - сейчас так вообще ещё бывает? Занятно, что сказать. Я думал, оно умерло вместе с "домашними страничками".

    Насчёт докеров - это было предположение, почему именно могло быть всё от рута на упомянутых vds. А так - о том и речь, что рут там или нет - разница невелика.

     
     
  • 6.22, пох (?), 12:32, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Кхх, стотыщ дерьмохостингов на одной vds - сейчас так вообще ещё бывает?

    атож!

    > Занятно, что сказать. Я думал, оно умерло вместе с "домашними страничками".

    щас посчитал - на моей "домашнестраничилке" 61 штук. А это ж даже не бизнес, так, шефская помощь соседнему колхозу в обмен на картошку. А то, откуда этих 61 выперли за неплатежеспособность - там счет на многие сотни и vds не одна.

    > Насчёт докеров - это было предположение, почему именно могло быть всё от
    > рута на упомянутых vds. А так - о том и речь,

    я полагаю, дело в другом - чудо-разработчики подобных домашних страничек делают ЭТО под виндой (без всяких WSL), и от переноса на юниксы у них "все сломалось, ничего не работает, админы, за что вам зарплату платят". case issue и \ / ты как-нибудь им пофиксишь, а если этого недостаточно - скажи спасибо контейнерам, а то ж вообще непонятно, как с этим жить.

    Забавно, что еще лет десять назад было бы по-другому - от рута хрен бы что работало, ломаясь в самых неожиданных местах.

     
  • 4.17, Аноним (-), 12:14, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, вот как раз для вебовской VDS разница невелика - рута поломают
    > или простого юзера, так что они могли быть даже где-то правы...
    > Только на фиг такие прецеденты.

    В смысле поломают рута? У вас ничего от рута не работает, 10-к сайтов с базами данных, сломать по идее можно www-data (или конкретного user-a, конкретную БД) что-то сделать дальше надо много ручного труда ( что дорого и нетривиально, у одного одни настройки у другого другие ) а вот если вы ломанули root-а то там можно действовать "автоматически"

    p.s.Не говоря уже о разделении прав для разных сайтов.

     
     
  • 5.21, Crazy Alex (ok), 12:28, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Обычно всё, что интересует взломщика - это сервить трояна, перехватывать пароли и слить базу. Для этого хватит автоматики под www-data с головой. Тем более, что используется скорее всего ещё и какая-то стандартная CMS или фреймворк как минимум.

    Разделение прав для разный сайтов на одной vds - поможет, но бывает редко - там, где есть смысл (то есть больше полутора посетителей), обычно в одну vds их не пихают. Хотя если контейнеры... но насколько они распространены в таких случаях - понятия не имею.

     
     
  • 6.28, Аноним (-), 13:53, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Обычно всё, что интересует взломщика - это сервить трояна, перехватывать пароли и
    > слить базу. Для этого хватит автоматики под www-data с головой. Тем
    > более, что используется скорее всего ещё и какая-то стандартная CMS или
    > фреймворк как минимум.

    Обычно != всегда

    > Разделение прав для разный сайтов на одной vds - поможет, но бывает
    > редко - там, где есть смысл (то есть больше полутора посетителей),
    > обычно в одну vds их не пихают. Хотя если контейнеры... но
    > насколько они распространены в таких случаях - понятия не имею.

    одна vds ~ 800р без стоимости рук, это вроде не много, но и микро-бизнес не миллионы приносит, а посещаемость большая для стандартных "хостингов php сайтов" они не тянут(не тянули, это и было причиной поселения в vds первого экземпляра).

    Контейнеры в такой ситуации overhead это же не ваш личный xen-server с несколькими виртуалками :)

     
  • 3.24, Аноним (-), 12:37, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > слетели права на папки
    > а наша система оказалась чувствительной к семне прав.

    Это потому что вы, вендузоеды, только про папки думаете, а мамки игнорируете.

     
     
  • 4.29, Аноним (-), 13:54, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> слетели права на папки
    >> а наша система оказалась чувствительной к семне прав.
    > Это потому что вы, вендузоеды, только про папки думаете, а мамки игнорируете.

    а вас в какой каталог занести?

     
  • 2.15, пох (?), 12:06, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 95%

    причем оставшиеся пять совершенно не понимают, зачем они это делают - вычитали в древних книжках что от рута работать низзя.

    ЧТО, чорд подери, может быть такого ценного на, внимание - сервере бронирования авиабилетов -  кроме, сцук, самого, блжад, бронирования - как софта, так и его данных, вы там что - параллельно на одной виртуалке еще два десятка хостингов котиков в мариядeбиле завели?

    Если вам поломали систему авиабронирования - будьте уверены, котики этих ребят не интересуют. А доступ к тазе банных у них _уже_есть_ - даже если это оракл на вообще другом конце шарика. Потому что он у системы бронирования был.

     
     
  • 3.23, Crazy Alex (ok), 12:34, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, я вот согласен, но для разнообразия - вот альтернативы:
    1) случай, когда собственно сайт с базой на фиг не нужен (потому что там и так котики а не авиабилеты), а вот файрволл покрутить да поназапускать своих сервисов надо
    2) с рутом шанс попасться таки гораздо меньше - логи там потереть аккуратно, руткит засунуть...
    3) с рутом попытаться вылезти на хост (особенно если это контейнер, а не виртуализация). А там - другие жертвы рядом
     
     
  • 4.26, пох (?), 13:23, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хм, я вот согласен, но для разнообразия - вот альтернативы:

    ну, какие-то они все теоретические. На практике - struts штука тяжелая (ибо жабо), требует специальных знаний, а не наспех прочитанной книжки пехепе для дворников, и под котиков его вряд ли кто поставит, и в шаред-системы тоже. Скорее еще и отдельным файрволлом обтыкают (ибо верить в его надежность и без этой новости не приходится)
    А если не под котиков - то надо срочно затыкать дырья, а не надеяться что к тебе пришли чужих котиков поназапускать, рута не найдут и с горя удалятся.

    это, конечно, ни разу не совет всем забить и запускать томкэтов от рута, скорее - не сильно плакать по поводу рута, если уже запускаешь томкэт ;-)

     
     
  • 5.27, Crazy Alex (ok), 13:30, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да я по поводу рассказа о VDS и руте говорил, struts - тут да, всё понятно. Хотя для него вариант "тихо сидеть руткитом и собирать данные" резко становится интересным.
     

  • 1.31, _ (??), 16:36, 06/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жаба безопасная! (С) Квааа
     
     
  • 2.32, виндотролль (ok), 17:17, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да врали все пацаны. Из джавы можно даже rm -rf сделать. От рута.
     
  • 2.33, Аноним (-), 19:45, 06/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Жаба не течёт, лиса не тормозит, хромой не пухнет, плазма не падает, пульса не икает.
     
  • 2.35, Очередной аноним (?), 09:29, 07/09/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и такие люди как ты называют себя инженерами... Причем тут жаба? Какой-то плагин в каком-то левом фреймворке (да, да, fortune 100) написанный криворукими (или невыспавшимися) быдлoкодерами принимает извне какой-то сериализованный объект, десериализует его на сервере и не анализируя что это за ява-класс без проверок запускает в работу. Ну чо, конечно ява виновата, не фреймворк. Ява должна была обрубать все такие возможности (сериализация/десериализация, RPC да и вообще работу с сетью и файловой системой) чтобы быдлoкодеры не могли левые фреймворки на ней писАть. Разрешить только цифры складывать. Ладно, ладно, еще и вычитать разрешим. Ой, а ну как переполнение будет. Нет, арифметику тоже запретим.
     
     
  • 3.36, пох (?), 15:30, 07/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Причем тут жаба?

    при том, что жабоеды так пели, так пели - "у нас так не бывает, у нас язык нас страхует от ужасов указателей (других-то ужасов давно не бывает), у нас gc, у нас круто, а все остальные устарели на стодесять лет и им место на свалке"

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

    > Ява должна была обрубать все такие возможности

    а чо, нет, оказываетсо? героической победы над указателями недостаточно? А как дысал, как дысал...

     
     
  • 4.37, лютый жабист__ (?), 11:24, 08/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >жабоеды так пели

    Как у сишкиных подгарает, что это НЕ уязвимость в жабке 8)))) а на несколько уровней выше в одном из 20 web-фреймворков.

    Кто-то готов озвучить аналоги Struts на могучих сях? :)))) Или хотя бы JSF.

     
     
  • 5.38, Andrey Mitrofanov (?), 11:50, 08/09/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>жабоеды так пели
    > Как у сишкиных подгарает, что это НЕ уязвимость в жабке 8)))) а
    > на несколько уровней выше в одном из 20 web-фреймворков.
    > Кто-то готов озвучить аналоги Struts на могучих сях? :)))) Или хотя бы
    > JSF.

    Конечно готов! _Озвучить_. Но ты медленный. В соседней https://www.opennet.ru/openforum/vsluhforumID3/112178.html#0 [если меня склероз не обманывает] уже и озвучили, и модераторы потёрли, "пишу, мол, на C++14 -- web20 фрымворк".

    Поспрашай там  --  тебе ответят[I]!

     
     
  • 6.39, лютый жабист__ (?), 13:56, 08/09/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >пишу, мол, на C++14 -- web20 фрымворк

    Сишники опять на 10 лет опоздали. JSF уже написали, причём  13 лет назад. ХЗ про веб2нольность в первых версиях, но несколько лет этому добру уже точно есть.
    Промышленное качество, куча внедрений. ;) Я думаю, сишники к появлению web5.0 напишут этот свой "web20 фрымворк на C++14", а там опять переписывать на c++27 и web5.0 :)

     

  • 1.34, Аноним (-), 08:04, 07/09/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    небезопасная десериализация XML
    https://www.youtube.com/watch?v=mdS4DnjpMkg
    вот она какая эта безопасная джаба
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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