LINUX.ORG.RU

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

 ,


0

0

В популярном веб-сервере и прокси-сервере nginx была обнаружена уязвимость, позволяющая удаленному злоумышленнику выполнить на сервере код с правами процесса nginx, либо вызвать отказ в обслуживании (падение nginx). Уязвимость обусловлена наличием buffer underflow в функции ngx_http_parse_complex_uri (обработка URL входящего запроса).

Уязвимости подвержены все версии с 0.1.0 по 0.8.14, кроме свежевыпущенных багфиксов 0.8.15, 0.7.62, 0.6.39 и 0.5.38. Кроме того, существует отдельный патч, закрывающий эту уязвимость.

Уже выпущены обновления безопасности для Debian и Fedora. Для других дистрибутивов сообщений об обновлениях пока не поступало.

В настоящее время информация об эксплойтах, использующих данную уязвимость, отсутствует. Тем не менее, всем администраторам, использующим уязвимые версии nginx, рекомендуется срочно отключить этот сервис и/или заблокировать его фаерволом вплоть до установки обновления.

P.S. Эта уязвимость уже обсуждается у нас на форуме.

>>> Подробности

★★★★

Проверено: Shaman007 ()

А что тут критического. Ну, вместо ошибки о якобы висящем бекэнде появится ошибка самого нжинкса. Большинство посетителей не заметят никакой разницы.

А прав у владельца процесса все равно немного.

AVL2 ★★★★★
()

Ну зная сколько народу держат nginx под рутом и сколько из них плевали на всякие обновления...я предвижу апокалипсис

ArtemZ
()

>> Уже выпущены обновления безопасности для Debian и Fedora. Для других дистрибутивов сообщений об обновлениях пока не поступало.

В арче тоже уже 0.7.62

sergej ★★★★★
()
Ответ на: комментарий от ArtemZ

> Ну зная сколько народу держат nginx под рутом и сколько из них плевали на всякие обновления...я предвижу апокалипсис

Ну тем, кто под рутом держит, скатерьтью дорога к апокалипсису. Критическая уязвимость от того, что можно уронить сам процесс nginx, а это намного хуже.

tuupic
()
Ответ на: комментарий от frame

Это можно было ожидать, чем популярней сервер тем больше людей ищут уязвимости.

mandroid76
()

вконтакте на нем вертится. как бы намек ^_~

ebaut
()

Для дебиана обновление ещё вчера вышло.

Sergogo
()
Ответ на: комментарий от tuupic

> Ну тем, кто под рутом держит, скатерьтью дорога к апокалипсису.

Как ты не рутом откроешь 80-й порт? :)

Deleted
()

люблю дебиан :)

на все (обновление nginx на всех серверах) про все ушло 12 минут, включая чтение новости и пересборку пакета :)

gr_buza ★★★★
()
Ответ на: комментарий от AVL2

> А что тут критического.

есть мнение что была раскрыта не вся информация об уязвимости.

> Ну зная сколько народу держат nginx под рутом

Уязвимы только рабочие процессы НЕ работают из-под рута. Тот рутовый процесс нужен исключительно чтобы порт забиндить да системные лимиты поменять.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

> есть мнение что была раскрыта не вся информация об уязвимости.

Посмотри на патч, он достаточно тривиален, чтобы понять как можно использовать уязвимость. Он не оставляет места для "не всей информации".

troop
()
Ответ на: комментарий от troop

Это я часто слышу. А вот когда порошу рассказать как можно код выполнить все сразу молчат. И по этом патчу что-либо говорить всё равно что гадать на кофейной гуще ибо это только малая часть кода который работает в обработке запроса.

Может ты расскажешь как запустить шелл-код? :)

true_admin ★★★★★
()
Ответ на: комментарий от const86

> Для этого придумано делать setuid после bind.

Оно так и сделано. Но master процесс то всё равно от рута работает :)

Deleted
()
Ответ на: комментарий от gns-respawned

> ололо. Точно так же как открываю 25 и 21, а что?

Нука, открой от пользователя процесс, слушающий 21 или 25 порт? :)

Deleted
()
Ответ на: комментарий от zyoung

> а ПОСЛЕ этого тебе религия не позволяет сменить права процессу

Мне религия это позволяет, кроме того, у меня везде так и сделано, т.к. nginx это делает сам. Читай выше про master процесс :)

Deleted
()
Ответ на: комментарий от const86

>> Как ты не рутом откроешь 80-й порт? :)

> Для этого придумано делать setuid после bind.

О! Дедушки подтянулись. Вылезайте из анабиоза, linux и freebsd давным давно поддерживают acl для сокетов.

gloomdemon
()

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

shutty
()
Ответ на: комментарий от Deleted

>Оно так и сделано. Но master процесс то всё равно от рута работает :)

мастер не занимается обслуживанием соединений с клиентами.

se ★★
()
Ответ на: комментарий от Deleted

> Нука, открой от пользователя процесс, слушающий 21 или 25 порт? :)

Марш в гугл по запросу freebsd linux acl socket -samba А можно ещё статью прочитать http://www.ibm.com/developerworks/linux/library/l-selinux/

Особенно Listing 1. Kernel code for socket creation и Listing 3. The SELinux socket-creation check =)

gloomdemon
()

кажется первая уязвимость в nginx ? до этого он не светился в бюллетенях по безопасности ?)

Sylvia ★★★★★
()
Ответ на: комментарий от Deleted

> Как ты не рутом откроешь 80-й порт? :)

Выставляем CAP_NET_BIND_SERVICE и все. Можно сторонним процессом, который запустится, сделает это на ждущем демоне сервера и выйдет.

man 7 capabilities

anonymous
()
Ответ на: комментарий от anonymous

этот подход не сильно отличается от того что запускается контрольный процесс,
который запускает workers с нужными caps, кроме того если worker все-таки упадет,
то мастер его перезапустит, в отличие от стороннего процесса, которому все равно и он вообще уже вышел.

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

Нуу, по чейнжлогу у него много сегфолтов было. Поэтому, подозреваю, проблемы были и раньше, просто их никто не акцентировал.

true_admin ★★★★★
()
Ответ на: комментарий от gr_buza

>пересборку пакета
У вас тоже нестандартные опции сборки? :)

>включая чтение новости

КАК? Вы не подписаны на debian-security-announce?

>на все (обновление nginx на всех серверах) про все ушло 12 минут

У нас немного больше, т.к. пересобранные пакеты перед помещением в основной локальный репозитарий тестируются.

>люблю дебиан :)

центос в общем-то не хуже ;)

nnz ★★★★
() автор топика
Ответ на: комментарий от ArtemZ

>Ну зная сколько народу держат nginx под рутом и сколько из них плевали на всякие обновления...я предвижу апокалипсис

На самом деле его даже под рутом держать не надо — достаточно, чтобы «админ» плевал на обновления. Не так давно несколько рутовых сплойтов к ядру проскакивало :)

nnz ★★★★
() автор топика

чем популярнее будет веб-сервер, тем чаще в нем будут находить ошибки. Так что не расстраиваемся и качаем апдейты.

ostin ★★★★★
()
Ответ на: комментарий от Sectoid

>На него, кстати, апдейты ещё не прибежали...
Кому действительно было надо — бы еще вчера из SRPM с патчем пересобрали.

А вообще зная редхат, я не удивлюсь, что из-за хитрозадых опций сборки их бинарники этой уязвимости не подвержены ;)

nnz ★★★★
() автор топика
Ответ на: комментарий от nnz

> Кому действительно было надо — бы еще вчера из SRPM с патчем пересобрали.

Уж лучше тогда генту если приходится самому думать о безопасности :)

true_admin ★★★★★
()

Обновляюсь.

pi11 ★★★★★
()

:)

> Критическая - то когда выносит весь датацентр к чертям с дымом, спецэффектами, суетящимися спасателями и рыдающими детьми, у которых накрылся варезный портал с десятками тысяч линков на вожделенную порнуху, на заднем плане.

> А тут имеет место быть лоу-приорити баг, который к тому же моментально пофиксили, что в очередной раз доказывает тезис о лучшем качестве свободного ПО и куда лучшей поддержке, в сравнении с проприетарным дерьмом.

> Gharik # (*) (04.03.2007 3:32:37)

shahid ★★★★★
()

тоже еще вчера обновился

Qasta
()
Ответ на: комментарий от Deleted

Ну, как мне представляется, все эти капабилити нужно грантануть из-под рута. Зато потом никто не мешает даже мастеру setuid сделать.

nnz ★★★★
() автор топика
Ответ на: комментарий от tuupic

>Уязвимость в рабочем процессе nginx, а не в master. Вопрос: при чём тут открытие порта?

Следующая будет в мастере, я гарантирую это! ;)

nnz ★★★★
() автор топика
Ответ на: комментарий от Deleted

>И эти все операции можно сделать, не прибегая к помощи root'а? :)

Ну ты еще начни с того, что без помощи рута не смонтировать корневую фс и не загрузить систему...

madcore ★★★★★
()

А что там насчет бонета из инфицированных веб-серверов под Линуксом, нашли причину подобного и способ как это сделали? Кстати на лоре в новостях не нашел про это, а на опеннете дискуссия...

http://www.opennet.ru/opennews/art.shtml?num=23387

Buy ★★★★★
()
Ответ на: комментарий от Deleted

> И эти все операции можно сделать, не прибегая к помощи root'а? :)

Ты что притворяешься? Ты еще спроси как это можно сделать не включая компьютер. Настраиваешь тот же selinux пользователем у которого есть достаточно прав что бы его настроить (скорее всего это будет root) =) И запускаешь приложение под пользователем который подпадает под эти самые настройки selinux.

gloomdemon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.