Описание:
В конце ноября была обнаружена ошибка в ядре, через которую был произведен взлом нескольких крупных Debian-серверов. Как оказалось, параметры внутренней функции do_brk() не проверялись на размер. Из-за этого и возникла возможность переполнения буфера. Функция do_brk() используется для управления памятью процесса. Таким образом, выполнив переполнение буфера, злоумышленник может выполнить любой код с root-правами. Это происходит благодаря тому, что код выполняется в ядерном уровне памяти. Для полного представления о работе ядра (и функции do_brk() в частности) рекомендую почитать соответствующую литературу. При компиляции эксплойта необходимо указывать флаг –static. В противном случае бинарник будет убиваться по 11 сигналу.
Защита:
Эта уязвимость актуальна для всех версий ядра ветки 2.4 (исключая 2.4.23), а также ветки 2.6 (кроме 2.6.0-test6). Изначально багу обнаружили в дебиановском ядре. Она была устранена в версии 2.4.18-14. Из всего вышесказанного можно сделать вывод: переустановка ядра на более свежую версию спасет мир от переполнения буфера. Впрочем, если есть желание, можешь поискать патч на ядрышко. Остальным – welcome на ftp.kernel.org ;).
Ссылки:
На сайте isec.pl эксплойт упакован в трудночитаемый pdf-файл. Сам сишник можно взять по ссылке www.xakep.ru/post/20623/dobrk.txt. Если интересует техническая сторона уязвимости, читай документ security.nnov.ru/search/document.asp?docid=5475.