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 ()

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

>O_O Игорь, перелогинтесь.

Черт, спалили =(

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

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

ЛОР — серьезный ресурс. А новость та — фигня полная. Чистый пиар.

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

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

Понты кидаешь не по адресу.

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

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

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

А вот это и удивляет. Зачем он _работает_ под рутом? Например, lighttpd запускается под рутом, если нужно сесть на привилегированный порт, но работает потом под обычным юзером.

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

> Зачем он _работает_ под рутом?

Спроси у Игоря, делов-то. Отвечает он быстро. owner-nginx-ru dog sysoev.ru

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

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

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

jackill ★★★★★
()

На сервере ночью ещё до 0.8.15 автообновилось.

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

>>Зачем он _работает_ под рутом?

>Для того чтобы обновляться не прерывая обслуживание запросов.

Обновляться - в смысле перезапускать самого себя? Если сбросить флажок F_CLOEXEC с сокета, то после перезапуска не потребуется биндиться заново.

P.S.: Я просто погулять вышел, а меня в такую дискуссию затянули... :)

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

>Для того чтобы обновляться не прерывая обслуживание запросов.

М... Для http критично прерывание обработки запросов на одну-три секунды? Да клиенты не заметят этого даже если их в онлайне тысяча будет.

KRoN73 ★★★★★
()

То-то я смотрю, Люркмор снова лёг, ггг

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

>Для http критично прерывание обработки запросов на одну-три секунды? 1. И разорвать все существующие соединения? ПОтому что ждать пока все завершатся будет сильно дольше 3 секунд.

2. А если пошло не так, как вернуть обратно старую версию? Опять тормозить?

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

>И разорвать все существующие соединения? ПОтому что ждать пока все завершатся будет сильно дольше 3 секунд.

Ну а если и разорвать? Если уж Гугль с Яндексом и то иногда соединения отвергают... Это http, однако :)

Я не верю, что тут пасётся хоть один администратор сервера, где подобный перезапуск хоть в малой степени критичен :)

>А если пошло не так, как вернуть обратно старую версию?

А что, подмена ядра сервера «на лету» позволит избежать это «если пошло не так»? Чем же?

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

>Я не верю, что тут пасётся хоть один администратор сервера, где подобный перезапуск хоть в малой степени критичен :)

Ну, даже если не рассматривать вопрос критичности, за каждую _миллисекунду_ дауна е.ут у нас жостко :)

>А что, подмена ядра сервера «на лету» позволит избежать это «если пошло не так»? Чем же?


http://sysoev.ru/nginx/docs/control.html#upgrade
Читаем. Просветляемся.
В частности,
>Нужно заметить, что старый процесс не закрывает свои listen сокеты и при необходимости ему можно сказать, чтобы он снова запустил свои рабочие процессы. Если работа нового исполняемого файла по каким-то причинам не устраивает, то можно сделать следующее:

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

>Ну, даже если не рассматривать вопрос критичности, за каждую _миллисекунду_ дауна е.ут у нас жостко :)

Не верю :) Это где так? :)

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

>Не верю :)

Наивный человек.
Впрочем, от вашей веры мне ни жарко ни холодно...

>Это где так? :)


Нет, мы не гугл и не яндекс.
Можете считать нас скромными бойцами невид^Wнаучного фронта. Хотя у нас есть и другие задачи.

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

>Как всегда уязвимо только x86?

Большинство подобных дыр универсально. Другое дело, что сплойты обычно пишут под более распространенную x86.

Так как в данном случае сплойта пока нет, можете считать, что этой уязвимости не существует ;)

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

>Ну, разве что. Но не думаю, что это - целевая аудитория nginx'а :)

Есть такой зверь, как htpdate — синхронизация времени через HTTP :)
Как админ пары серверов пула NTP, могу сказать, что народ юзает эту фичу довольно активно.

Впрочем, это мое хобби, и к работе никак не относится.

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

>Угу. «У нас есть такая трава!...» :)
fixd

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