http://www.securitylab.ru/news/382677.php
Ъ:
Исходный код для эксплуатации весьма необычной уязвимости в ядре 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.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [решето!] Уязвимость в ядре Linux позволяет получить повышенные привилегии (2009)
- Форум Критическая уязвимость в ядре Linux (2009)
- Новости Интересная уязвимость в ядре Linux (2009)
- Новости Уязвимость в udev, позволяющая получить root-привилегии (2009)
- Форум Уязвимость в udev, позволяющая получить root-привилегии (2009)
- Новости Уязвимость в FreeBSD, повышение привилегий (2013)
- Форум Ansible, повышение привилегий. (2016)
- Форум Отследить повышение привилегий (2015)
- Форум Пути повышения привилегий (2009)
- Форум WINE и повышение привилегий (2021)