bugtraq.ru: Локальное повышение привилегий в ядрах всех Линуксов
Если точнее, затрагивает все ядра 2.4 и 2.6, восходя аж к 2001 году.
Связано с тем, что ряд функций ядра, наподобие sock_sendpage, не занимается проверкой полученного указателя на NULL, полагаясь на то, что соответствующие указатели будут корректно проинициализированы в обертках - таких как sock_no_sendpage. Однако в случае с sock_sendpage ошибка в макросе SOCKOPS_WRAP все же может привести к передаче в функцию нулевого указателя. Что и приводит к возможности внедрения кода, выполняющегося с правами ядра - достаточно положить его в нулевую страницу памяти. Патч уже доступен.
Замечу, что сама возможность подобного лихого обращения с нулевыми указателями в современной ОС вызывает некоторое недоумение - к примеру, в архитектуре Win32/64 подобные плюхи принципиально невозможны по причине блокировке любого доступа к адресам с 0x0 по 0xFFFF (0xFFF в случае Win'9x).
Источник: [URL="http://blog.cr0.org/2009/08/linux-null-pointer-dereference-due-to.html"]cr0 blog[/URL]
[URL="http://bugtraq.ru/rsn/archive/2009/08/04.html"]bugtraq.ru[/URL]
Разыменование нулевого указателя в ядре Linux
[B]14 августа, 2009[/B]
[B]Программа: [/B]Linux Kernel версии 2.4.x, 2.6.x
[B]Опасность: [/B][COLOR=Green][B]Низкая[/B][/COLOR]
[B]Описание: [/B]
Уязвимость позволяет локальному пользователю вызвать отказ в обслуживании и повысить свои привилегии на системе.
Уязвимость существует из-за некорректной инициализации структуры proto_ops для определенных протоколов, например PF_APPLETALK, PF_IPX, PF_IRDA, PF_X25, PF_AX25 семей, PF_BLUETOOTH, PF_IUCV, PF_INET6 с IPPROTO_SCTP, PF_PPPOX и PF_ISDN. Локальный пользователь может спровоцировать вызов функции sock_sendpage() для некорректного сокета, вызвать разыменование нулевого указателя и аварийно завершить работу системы или повысить свои привилегии на системе.
[B]URL производителя: [/B] [URL="http://www.securitylab.ru/bitrix/exturl.php?goto=http%3A%2F%2Fwww.kernel.org"]www.kernel.org[/URL]
[B]
Решение: [/B]Установите последнюю версию 2.4.37.5 или 2.6.31-rc6 с сайта производителя
[URL="http://www.securitylab.ru/vulnerability/383662.php"]securitylab.ru[/URL]