Форум Orsha-LUG

Портал => Новости => Тема начата: Sacren от 18 Август 2010, 21:54:44



Название: Обнаружена локальная root-уязвимость, затрагивающая все Linux-ядра 2.6.x
Отправлено: Sacren от 18 Август 2010, 21:54:44
Раскрыта информация об обнаруженной месяц назад ошибке, присутствующей практически во всех Linux-ядрах серии 2.6.x, которая позволяет непривилегированному пользовательскому процессу, который имеет доступ к X-серверу (т.е. любому графическому приложению), безоговорочно получить привилегии суперпользователя, при этом, стоит отметить, что проведение атаки не затрагивает никакие ошибки X-сервера.

Другими словами, любое, имеющие уязвимости, непривилегированное графическое приложение в результате атаки может обойти все механизмы защиты безопасности Linux-ядра и скомпрометировать систему целиком. Атака может быть произведена даже из изолированного окружения системы безопасности SELinux. Например, злоумышленник может воспользоваться уязвимостью в PDF-просмотрщике, запущенном в chroot или под контролем SELinux, и добившись от пользователя открытия специально оформленного документа, получить доступ к машине с правами суперпользователя. Ошибка, судя по всему, существует уже несколько лет практически во всех ядрах серии 2.6.x.

CTRL+Ced from: http://www.opennet.ru/opennews/art.shtml?num=27658


Название: Re: Обнаружена локальная root-уязвимость, затрагивающая все Linux-ядра 2.6.x
Отправлено: Sacren от 18 Август 2010, 21:55:43
Суть атаки состоит в том, что графическое приложение искусственно практически полностью потребляет адресное пространство X-сервера с помощью расширения MIT-SHM, затем создаёт разделяемый сегмент памяти "S", то есть заставляя X-сервер использовать этот сегмент. Сегмент "S", однако, будет находиться близко над исполняемым стеком. Затем атакующий инструктирует X-сервер с тем, чтобы последний стал исполнять рекурсивную функцию, что приводит к расширению стека, а указатель стека смещается в сторону сегмента "S" на непродолжительный промежуток времени. После чего, атакующий осуществляет запись в область памяти "S", что приводит к замене смещения в стеке и позволяет выполнить произвольный код.

Без обновления ядра данную проблему можно решить несколькими способами. Во-первых, можно выключить поддержку MIT-SHM в X-сервере:

Код:
   Section "Extensions"
      Option "MIT-SHM" "disable"
   EndSection

Во-вторых, можно создать wrapper для запуска X-сервера с указанием RLIMIT_AS, что ограничит регион памяти, доступной для X-сервера и поможет избежать атаки. Однако, этот способ не является надёжным.

Данная проблема решена в выпущенных на днях обновлениях Linux-ядра 2.6.32.19, 2.6.34.4, 2.6.35.2, а также устранена в ядре RedHat Enterprise Linux. Примечательно, что данная уязвимость была исправлена молча, без акцентирования о критичности проблемы и без отметки об отношении исправления к безопасности в списке изменений. Более подробно об уязвимости можно прочитать в данном отчете (PDF, 100 Кб).


Название: Re: Обнаружена локальная root-уязвимость, затрагивающая все Linux-ядра 2.6.x
Отправлено: Speccyfighter от 18 Август 2010, 23:03:11
Очень важная новость.
Пообщался в рассылке проекта.
Код
Код:
   Section "Extensions"
      Option "MIT-SHM" "disable"
   EndSection
стоит применить в xorg.conf.
Пишут что:
Цитировать
Это не совсем костыли.  Подобные ограничения принято называть словом
hardening, их имеет смысл оставить в силе и после того, как ядро будет
обновлено.