The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

27.10.2011 21:52

В 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.

  1. Главная ссылка к новости (http://seclists.org/fulldisclo...)
  2. OpenNews: Локальная Root-уязвимость в X.Org
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/32152-xorg
Ключевые слова: xorg, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, augurov (ok), 22:38, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Обалдеть... Это что теперь за компом в водолазном костюме сидеть ?
    Или комп одевать в водолазный костюм ?
    А дырки пробками затыкать , по мере их возникновения ....
     
     
  • 2.6, Coder (?), 22:53, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Радуйтесь лучше. Народ стал больше проявлять интереса к open source, чему свидетельство появление многих эксплойтов, готовых порвать ОС
     
     
  • 3.20, Drist (ok), 01:53, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    радость мазохиста какая-то. полезному надо радоваться, а не злодеяниям.
     
     
  • 4.22, Аноним (-), 02:16, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > радость мазохиста какая-то. полезному надо радоваться, а не злодеяниям.

    Каждое выявление очередной уязвимости делает юзаемый нами софт еще безопаснее. Разве не полезно?

     
     
  • 5.25, ololo (?), 08:13, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Го в виноусы? там всегда что нибудь находят =]
     
  • 5.40, Drist (ok), 13:38, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А если исходное сообщение прочитать? :)

    "Радуйтесь лучше. Народ стал больше проявлять интереса к open source, чему свидетельство появление многих эксплойтов, готовых порвать ОС".

    Человек радуется тому, что появились свидетельства в виде эксплоитов, готовых порвать ОС. Заметьте, порвать. Такой итог интереса к открытому ПО вас радует? Меня нет. Меня радует, когда люди делают добро, а не зло, о чем я и написал ;)

     
     
  • 6.42, Coder (?), 14:20, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Добро должно быть с кулаками
     
  • 4.35, Аноним (-), 12:20, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > радость мазохиста какая-то. полезному надо радоваться, а не злодеяниям.

    Исправление бага злодеянием не считается.

     
     
  • 5.41, Drist (ok), 13:39, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> радость мазохиста какая-то. полезному надо радоваться, а не злодеяниям.
    > Исправление бага злодеянием не считается.

    Да, злодеянием является его использование, готовое порвать вашу ОС, чему радуется - опосредованно или напрямую - написавший пост, на который я ответил ;)

     
  • 3.26, letsmac (ok), 08:32, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Как и говорилось "надежность" linux-производных связана по большей части с её малой распространенностью. Взлом kernel.org - это только начало.
     
     
  • 4.31, тоже Аноним (ok), 10:01, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Абсолютная надежность - это выключенный рубильник.
    А _относительная_ надежность любых дистрибутивов Linux по-прежнему чрезвычайно высока.
    А взлом kernel.org имел сравнительно небольшие технические результаты, но, конечно, был очень удачной пиар-акцией.
     
     
  • 5.36, Аноним (-), 12:22, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А взлом kernel.org имел сравнительно небольшие технические результаты, но, конечно, был
    > очень удачной пиар-акцией.

    Черный пиар - тоже пиар ;)

     
  • 4.39, sca (?), 13:13, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да. Утверждающему остаётся только продемонстрировать ботнет на линуксовых серверах —  разве мало их в сети?

    Мешки просто ворочать не всем хочется, остаётся только языком ля-ля.

     
     
  • 5.43, letsmac (ok), 14:57, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Ну да. Утверждающему остаётся только продемонстрировать ботнет на линуксовых серверах
    > —  разве мало их в сети?

    3,5 декстопа вирусописателям даром не сдались. При желании в сети можно разобраться с руткитами. Надо будет хакнут пакет и засадят туда твоего ботнета. А пока не нужен.

     
     
  • 6.44, Аноним (-), 17:09, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 3,5 декстопа

    Откуда такая цифра? Можно ссылку на источник?

     
  • 6.48, Аноним (-), 17:20, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Ну да. Утверждающему остаётся только продемонстрировать ботнет на линуксовых серверах
    >> —  разве мало их в сети?
    > 3,5 декстопа вирусописателям даром не сдались.

    Вас про серверы спрашивали, вообще-то.

    > При желании в сети можно разобраться с руткитами.

    А вы знаете, что такое руткит, и чем он отличается от червя?

    > Надо будет хакнут пакет и засадят туда твоего ботнета. А пока не нyжен.

    Ага, вот оно что. Ну что ж, вот вам трое суток. По истечении их опубликуйте ссылку на затрояненный вами пакет, который загружен в официальные (подчеркиваю: официальные) репозитарии любого из популярных дистрибутивов.
    В противном случае, со всей исторической неизбежностью, пользователь letsmac будет объявлен врyнишкой.

     
     
  • 7.57, arisu (ok), 15:26, 30/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пользователь letsmac будет объявлен врyнишкой.

    секрет Полишинеля, право.

     
  • 4.49, СуперАноним (?), 17:31, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот поржём когда МакОСь хот чуть-чуть на хостингах появится.

    X.org не только в дистрах GNU/Linux используется, но и в BSD всех мастей.

     
  • 2.23, Аноним (-), 02:17, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Обалдеть... Это что теперь за компом в водолазном костюме сидеть ?
    > Или комп одевать в водолазный костюм ?

    Зачем такие сложности? Достаточно тюбика вазелина :)

     

  • 1.2, Аноним (-), 22:39, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ключевая фраза

    >As a reminder, chmod() operates on filenames rather than on file handles.

     
     
  • 2.17, Michael Shigorin (ok), 01:32, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>As a reminder, chmod() operates on filenames rather than on file handles.

    Для того и существует fchmod().

     

  • 1.3, Zenitur (ok), 22:40, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да уж. Как в source-based дистрибутивах переключить иксы на работу от польлзователя? Можно ли это сделать в openSuSE? Заработают ли такие иксы с проприетарным видеодрайвером?
     
     
  • 2.11, Cmp (?), 23:32, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так с source-based дистрибутивами?

    И вообще, Xorg запускается из целого вороха скриптов, неужто нельзя в скрипте проверку сделать, впрочем, проблема с *lock файлами, а точнее с привязкой к реально существующим процессам, как и аналогичная с pid файлами, существует давно и каждая команда разработчиков решает ее как придется, а дистрибутивостроители потом исправляют это инициализационными скриптами, очевидно же необходим механизм унифицирующий решение, что-то типа дополнительной папки /proc/services, чтобы там и локи и пиды хранились, может пару тулсов чтобы объявить процесс демоном для совместимости со старым софтом или особо ленивых разрабов; и пусть ядро зная, что с чем синхронизировать за это отвечает; насколько бы легче стало писать скрипты срабатывающе по факту падения демона...эх.

     
     
  • 3.18, Michael Shigorin (ok), 01:32, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И вообще, Xorg запускается из целого вороха скриптов, неужто нельзя в скрипте
    > проверку сделать

    Без толку, если можно пускать не xinit, а X.

     
  • 2.24, mma (?), 05:16, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Как в source-based дистрибутивах переключить иксы на работу от польлзователя?

    Иксы уже умеют это то ли с 9 то ли с 10 версии если драйвер через KMS работает. Правда мануалов никто не пишет ибо особо не надо пока никому.

     
  • 2.32, Yuego (?), 10:22, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В моей gentoo они только так и работают сейчас. Хрензнаетсколько полет нормальный.

    Драйвер проприетарный nvidia.

     
  • 2.56, Аноним (-), 19:08, 29/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Да уж. Как в source-based дистрибутивах

    lol , в каких в каких ???? ))))))))))))))

     

  • 1.4, Аноним (-), 22:42, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фигасе!

    >Some distros released new Xorg packages (Ubuntu, Gentoo) since others (like

    Debian) judge this as a non-critical issue:

      http://security-tracker.debian.org/tracker/CVE-2011-4029


    Что-то я засомневался в своем любимом дебьяне. =\

     
     
  • 2.7, Аноним (-), 23:10, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А помнишь как они энтропию в OpenSSH ослабили, что подобрать след.ключ можно было чуть ли не в уме?
     
     
  • 3.37, Аноним (-), 12:27, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А помнишь как они энтропию в OpenSSH ослабили, что подобрать след.ключ можно
    > было чуть ли не в уме?

    Вот специально сидели и ослабляли. Просто дурилки картонные пустили свои лапы в криптографию, а она такого не прощает. Соваться в алгоритмы с "типа оптимизацией" можно только если понимаешь что делаешь и к чему это ведет. А этого не было. Самое веселое что авторы openssl не заподозрили подвох и заапрувили патч.

     
  • 2.8, cosmonaut (ok), 23:10, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая последовательность операций с двойным перезапуском Х-ов, думаю, мало вероятно что подобное станет незаметным (особенно, учитывая, что, если правильно понимаю, експлойту при этом еще нужно и права рута получить). Видимо, поэтому и не посчитали критичной
     
     
  • 3.10, Аноним (-), 23:19, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Учитывая последовательность операций с двойным перезапуском Х-ов, думаю, мало вероятно
    > что подобное станет незаметным (особенно, учитывая, что, если правильно понимаю, експлойту
    > при этом еще нужно и права рута получить).

    Вы бредите. На X-ах уже стоит suid бит, никаких рутовых прав не нужно. И запускается новый процесс X не на дефолтовом экране незаметно для работающего основного пользователя.

     
     
  • 4.16, Lazy_Kent (ok), 00:37, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В openSUSE ещё в 11.4 отключили.
    http://www.novell.com/linux/releasenotes/i386/openSUSE/11.4/RELEASE-NOTES.ru.
     
  • 4.28, dhamp (?), 09:13, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >И запускается новый процесс X не на дефолтовом экране незаметно для работающего основного пользователя.

    при запуске новой икс сессии на другой консоли, по-умолчанию происходит переключение на неё, ключей отключаюших данное поведение в man'e что-то не находится.

     
  • 4.47, Аноним (-), 17:14, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И запускается новый процесс X не на дефолтовом экране незаметно
    > для работающего основного пользователя.

    Незаметно, говорите?

     
  • 4.51, alyuka (?), 19:19, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то дебианом не рекомендуется использовать суид-бит, потому и уязвимость не считается особо опасной.
    те кто плюёт на безопасность сами дураки.
     
     
  • 5.54, Аноним (-), 23:32, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я ничего не трогал.

    >-rwsr-sr-x 1 root root 7312 Сен 24 13:39 /usr/bin/X

     
  • 2.12, Grem (??), 23:36, 27/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    странно, что новость только сейчас разместили, исправление для Gentoo вышло ещё 19 октября, если верить указанной ссылке : http://www.gentoo.org/security/en/glsa/glsa-201110-19.xml

    хотя и не для версии 1.11.2, а для 1.10.4

     

  • 1.5, ппп (?), 22:46, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    тото у меня два ня подряд устанавливались иксы
     
     
  • 2.38, Аноним (-), 12:34, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > тото у меня два ня подряд устанавливались иксы

    Какие няшные у вас иксы :)

     

  • 1.14, Аноним (-), 23:58, 27/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в арчике исправлено
     
  • 1.15, kuraga (ok), 00:15, 28/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И все же. Кто ответит до того, как удалят мой коммент?) Почему иксы правят права к чужим файлам?
     
     
  • 2.19, Michael Shigorin (ok), 01:34, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему иксы правят права к чужим файлам?

    Они думают, что это их файл.

    BTW от такой ситуации давным-давно существует защита (hardening создания симлинков на чужие файлы).  Жаль, мало где встречается "из коробки".

     
     
  • 3.21, Аноним (-), 02:14, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > BTW от такой ситуации давным-давно существует защита (hardening создания симлинков на чужие файлы).  Жаль, мало где встречается "из коробки".

    Между прочим, был такой проект - Yama LSM. Там реализовывалась защита от нескольких популярных видов атак, в том числе и от этой (даже новость тут была об этом). Его даже собирались в 2.6.38 включить. Но, к сожалению, его делали ребята из Canonical (в частности, Джеймс Моррис и печально известный Kees Cook), так что качество сильно подкачало, и в мейнстрим оно не попало. А жаль.

     
     
  • 4.59, анонимка (?), 12:33, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> BTW от такой ситуации давным-давно существует защита (hardening создания симлинков на чужие файлы).  Жаль, мало где встречается "из коробки".
    > так что качество сильно подкачало,

    потом
    > и в мейнстрим оно не попало. А жаль.

    Хотели чтоб код дерьмового качества попал в апстрим?

     
  • 3.27, anonymous (??), 08:53, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >BTW от такой ситуации давным-давно существует защита (hardening создания симлинков на чужие файлы).

    Так оно вроде только для хардлинков (security.bsd.hardlink_check_uid и security.bsd.hardlink_check_gid, в линуксе доступно через патчи ядра). А для симлинков было бы правильнее, если бы сами симлинки имели бы свой набор прав, который бы правил chmod, а не права целевого фала.

     
     
  • 4.29, anonymous (??), 09:22, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >А для симлинков было бы правильнее, если бы сами симлинки имели бы свой набор прав, который бы правил chmod, а не права целевого фала.

    Во FreeBSD, кстати, есть системный вызов lchmod, который поступает таким образом.

     
     
  • 5.45, Аноним (-), 17:11, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Во FreeBSD, кстати, есть системный вызов lchmod, который поступает таким образом.

    И что, права симлинков после этого на что-то влияют?

     
     
  • 6.53, anonymous (??), 19:49, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И что, права симлинков после этого на что-то влияют?

    Нет, но это и не важно.

     
  • 4.34, Michael Shigorin (ok), 11:38, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>BTW от такой ситуации давным-давно существует защита (hardening создания
    >>симлинков на чужие файлы).
    > Так оно вроде только для хардлинков

    Оно исходно было только для симлинков как раз, solardiz расширял на случай хардлинков: http://www.openwall.com/linux/README.shtml

    (в альте для 2.6.x портировал lakostis@, но AFAIR уже с пару лет как оставлено)

     
  • 4.46, Аноним (-), 17:12, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А для симлинков было бы правильнее, если бы сами симлинки имели бы свой набор прав, который бы правил chmod, а не права целевого фала.

    Это как? Типа, создал от простого юзера симлинк на shadow, сделал этому симлинку u+r, и читай shadow на здоровье?


     
     
  • 5.52, anonymous (??), 19:39, 28/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Либо обрабатывать по принципу побитового "И", либо игнорировать и использовать при обращении права целевого файла.
     
  • 2.58, pelikan (?), 22:56, 31/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > И все же. Кто ответит до того, как удалят мой коммент?) Почему
    > иксы правят права к чужим файлам?

    -rwsr-xr-x 1 root root 1753696 Мар 31  2011 /usr/bin/Xorg*
    Suid программы оччень опасны.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру