LINUX.ORG.RU

Linux kernel Ping of Death

 , ,


0

0

В ядре Linux обнаружена уязвимость, позволяющая удаленному злоумышленнику вызвать отказ в обслуживании (зависание ядра), а локальному — получить root-привилегии. Для получения описанного эффекта достаточно отправить на целевой хост серию специально сформированных IPv4-пакетов.

Данной уязвимости подвержены ядра с 2.6.28.10 по 2.6.32-rc8 включительно. В версии 2.6.32 она уже исправлена.

Уязвимость локализована в коде, отвечающем за дефрагментацию IPv4-пакетов (файл net/ipv4/ip_fragment.c, функция ip_frag_reasm), и имеет тип «NULL pointer dereference» (разрешение нулевого указателя). В связи с этим нужно сделать два замечания:

  • Заголовок новости («Ping of Death») носит несколько метафорический характер, так как классические уязвимости Ping of Death, столь популярные в Windows и Unix-системах конца предыдущего столетия, основаны не на разрешении нулевого указателя, а на переполнении буфера при сборке слишком большого фрагментированного пакета. Однако, принцип эксплуатации уязвимости (отправка слишком длинного пакета) и достигаемый эффект (отказ в обслуживании) в обоих случаях одинаковы.
  • Опасность повышения привилегий (получения root-доступа) локальным злоумышленником может быть нейтрализована путем запрещения маппинга кода на нулевой адрес, что достигается установкой в ненулевое значение sysctl-параметра vm.mmap_min_addr (в большинстве современных дистрибутивов он по умолчанию установлен в ненулевое значение, однако после установки wine может быть сброшен в ноль).

Несколько дней назад вышли обновления для Fedora 11, Fedora 12, а также для Ubuntu 9.10. Всем, кто использует уязвимые версии ядра, рекомендуется срочно обновиться.

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

★★★★

Проверено: maxcom ()
Ответ на: комментарий от tailgunner

> Бугага. Это назывется «доеб*ться до столба».

возможно =)

Ты крут. Расскажи нам о методике, использовавшейся при тестировании твоей реализации _протокола TCP/IP_.


не надо передергивать. я это написал только потому, что собеседник решил перейти на личности.
а тесты у меня были самые обычные, элементарные, и не слишком много. но это же линукс кернел. моя позиция в споре такова - тесты безусловно нужны, но это не первоочередная задача, и тест который бы поймал такую ошибку как сабжевая, штука необычная. тут ситуация как с мониторинговыми чеками: напоролись на новую проблему - создали для нее чек.
глупо заявлять что можно полностью покрыть тестами стек за два часа работы, не согласен? человек просто не представляет себе обьем работ и лезет всем советовать как им жить. welcome to the open source world - wanna this done? do it yourself and help everyone!

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

> называть стек TCP/IP протоколом - грубая терминологическая ошибка, простительная только полному дилетанту, которую ты повторяешь систематически.

Уроки на завтра сделал?

еще раз - покажи мне стейт машин для ИП в РФЦ. описание протокола и описание имплементации - две весьма различные и зачастую независимые вещи.

Не знаю и знать не хочу.

Намек на стейт машин в рфц есть только для SCTP и IS-IS, но ты ведь наверное и протоколов-то таких не знаешь.

Не понял, я разве говорил про state machine в IP? IP слишком прост, чтобы для него рисовать state machine, ты в RFC 793 TCP загляни, на страничку 23. Там будет диаграмма, которую ты увидишь первый раз в жизни.

=)) я автор юзерландовой имплементации базового стека TCP/IP и коммитер в стек OpenBSD, в т.ч. в роутинг и динамическую маршрутизацию.

Что такое, после уроков сделал copy-paste из ядра в юзерленд? Молодец, возьми с полки пирожок (с гвоздиком)!

а ты что сделал?

А я томат. А еще я реализовывал часть TCP с нуля для спец-архитектуры.

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

ну так ниочем же.


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

val-amart ★★★★★
()

Бугага. Все как всегда. Дыры, дыры, дыры.

Вроде бы уже такое было.

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