Локальная уязвимость в X.Org

В X.Org найдена опасная уязвимость, позволяющая путем манипуляции на этапе создания lock-файла поменять права доступа к любому файлу в системе на 444 (полный доступ на чтение для всех). Например, локальный злоумышленник на этапе запуска X.Org-сервера может поменять права на файл /etc/shadow и получить доступ к хэшам паролей всех пользователей в системе, или поменять права на блочное устройство и прочитать полное содержимое дисковых разделов. Для успешной эксплуатации у атакующего должна быть возможность запуска X-сервера.

Техника эксплуатации уязвимости достаточно простая (готовый эксплоит приводится в тексте уведомленияо наличии проблемы):

  1. Создаётся фиктивная символическая ссылка "/tmp/.X1-lock" -> "/dontexist";
  2. Запускается X-сервер;
  3. Останавливается X-сервер через отправку процессу сигнала SIGSTOP сразу после создания "/tmp/.tX1-lock" (угадать нужный момент помогает эксплоит);
  4. Запускается ещё один процесс X для удаления /tmp/.tX1-lock;
  5. Создаётся символическая ссылка "/tmp/.tX1-lock" -> "/etc/shadow";
  6. Отправляется SIGCONT остановленному на третьем шаге процессу, который выполняет вызов chmod() для подменённого файла;

В общем виде процесс эксплуатации выглядит примерно так:

$ ls -l /etc/shadow -rw-r----- 1 root shadow 1072 Aug 7 07:10 /etc/shadow
$ ./xchmod
$ ls -l /etc/shadow -r--r--r-- 1 root shadow 1072 Aug 7 07:10 /etc/shadow

Исправление пока доступно в виде патча для X Server 1.11.2 и экспериментальной ветки 1.12. Обновление пакетов с устранением уязвимости доступно для FreeBSD, Ubuntu и Gentoo. Неисправленной узявимость остаётся в Slackware, Mandriva, openSUSE, CentOS, Fedora, RHEL и Debian.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=32152

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>