Уязвимость в ядре Linux позволяет получить повышенные привилегии - 20 Июля 2009 - sadmin.org- Тусовка СисАдминов :-)
Воскресенье
12-Фев-2012, 03:18:01
sadmin.org
Приветствую Вас Прохожий | RSS
Главная Регистрация Вход
Меню сайта

Разделы новостей
Новости сайта sadmin.org [13]
Программное обеспечение [25]
Новые продукты [10]
Новости высоких технологий [42]
Юридическая казуистика [6]
Аппаратные средства [11]

Наш опрос
Каким видом дистрибутива ОС вы пользуетесь?
Всего ответов: 617

Главная » 2009 » Июль » 20 » Уязвимость в ядре Linux позволяет получить повышенные привилегии
Уязвимость в ядре Linux позволяет получить повышенные привилегии
14:13:51

Исходный код для эксплуатации весьма необычной уязвимости в ядре Linux был опубликован сегодня Бредом Спенглером (Brad Spengler) – автором модуля grsecurity.

Что же необычного в уязвимости, позволяющей просто повысить привилегии? Дело в том, что при обычном анализе исходного кода эту уязвимость практически невозможно обнаружить. Технические подробности этой ошибки немного сложны, но можно просто объяснить, что именно происходит. Уязвимый код находится в реализации net/tun. Вот что здесь происходит: разработчик инициализирует переменную (sk в примере ниже), и устанавливает ее в значение, которое может быть равно нулю. Разработчик корректно проверяет значение переменной на несколько строк ниже и если переменная равно 0 (нулю), возвращается ошибка. Код выглядит следующим образом:

struct sock *sk = tun->sk;  // initialize sk with tun->sk

if (!tun)
    return POLLERR;  // if tun is NULL return error

Код выглядит корректно с первого взгляда. Но это до того, как компилятор начнет работать с этим кодом. При оптимизации кода, компилятор увидит, что значение переменной уже присвоено и просто удалит блок IF. Другими словами, компилятор создаст уязвимость в бинарном коде, которой не существует в исходном. Нововведение, произведенное компилятором, позволит ядру прочитать и записать данные по адресу 0x00000000, который атакующий затем сможет перенаправить в пространство пользователя и получить привилегии root на системе.

Опубликованный эксплоит способен обойти защиту разыменования нулевого указателя в ядре, на системах с SELinux и без него, и отключить SELinux/AppArmor/LSM/auditing.

Описание уязвимости доступно по адресу:
http://www.securitylab.ru/vulnerability/382676.php

Скачать эксплоит можно по адресу:
http://grsecurity.net/~spender/cheddar_bay.tgz

Зеркало SecurityLab.ru
http://www.securitylab.ru/poc/382675.php

Категория: Программное обеспечение | Просмотров: 511 | Добавил: LinART | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Календарь новостей
«  Июль 2009  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Поиск

Друзья сайта

Статистика


Copyright sadmin.org © 2012
Хостинг от uCoz