Локальная уязвимость в ядре Linux.

5/01/2004 16:12

Paul Starzetz и Wojciech Purczynski из польской группы iSEC Security Research сообщают об обнаружении уязвимости в ядрах Linux тсабильных веток 2.2, 2.4, 2.6. Уязвимость обнаружена в алгоритме обработки границ в коде управления памятью при использовании системного вызова mremap(2). Этото вызов отвечает за изменение размеров (увеличение или уменьшение) адресного пространства процессов назначенных областей виртуальной памяти (VMA). Некорректная проверка границ обнаружена в коде ядра в реализации вызова do_mremap(), в результате чего может быть область виртуальной памяти нулевой длины. Создание подобных областей может привести к непредсказуемым последствиям в поведении системы и разрушению подсистемы управления памяти ядра. Авторы подчёркивают. что для выполнения подобных действий не требуется каких-либо специальных полномочий, то есть они могут быть выполнены обычным пользователем. Утверждается о создании кода эксплоита, при помощи которого был получен шелл с UID=0 (полномочия суперпользователя), что. по словам авторов не является довольно сложной задачей. В плане осуществления атаки на ядро 2.4 было обнаружено, как минимум, 2 вектора атаки. Как утверждается, выпущена соответствующая версия ядра 2.4.24-rc1, также существует патч от Марцелло Тосатти (координатора работ по ветке 2.4). Хотелось бы заметить, что предыдущая дыра в системном вызове do_brk() также была обнаружена в декабре прошлого года членами той же группы. Весело начинается 2004-й год, надо заметить...
Подробности - http://isec.pl/vulnerabilities/isec-0013-mremap.txt