URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 15093
[ Назад ]

Исходное сообщение
"OpenNews: В X11 сервере найдена серьезная уязвимость"

Отправлено opennews , 04-Май-06 00:04 
При анализе исходных текстов  XOrg автоматизированной системой Coverity, была выявлена (http://www.linuxelectrons.com/article.php/20060502101411582) одна из самых серьезных проблем безопасности X11 сервера, обнаруженных за последние 6 лет.


Используя найденную (http://secunia.com/advisories/19900/) в расширении XRender проблему, атакующий, имеющий локальный или удаленный доступ к X-серверу, может вызвать отказ в обслуживании или запустить код (в большинстве случаев X-сервер запущен из-под root).


Проблеме подвержены X11R6.8.x, X11R6.9.0 и X11R7.0 (xorg-server 1.0.x).

URL: http://www.linuxelectrons.com/article.php/20060502101411582
Новость: http://www.opennet.me/opennews/art.shtml?num=7448


Содержание

Сообщения в этом обсуждении
"В X11 сервере найдена серьезная уязвимость"
Отправлено Dyr , 04-Май-06 00:04 
Везде говорится одно и тоже: НЕ ЗАПУСКАЙТЕ ИКСЫ ИЗ-ПОД ROOT'А. Да и ставить их на сервер - последнее дело...

"В X11 сервере найдена серьезная уязвимость"
Отправлено Аноним , 04-Май-06 00:15 
>Везде говорится одно и тоже: НЕ ЗАПУСКАЙТЕ ИКСЫ ИЗ-ПОД ROOT'А.

Инструкцию по запуску иксов без root в студию.
Готов поспорить, что у тебя иксы тоже под root работают. Иначе никак, разве что SELinux использовать.


"В X11 сервере найдена серьезная уязвимость"
Отправлено THESERG , 04-Май-06 00:38 
точно, под рутом!

"В X11 сервере найдена серьезная уязвимость"
Отправлено Dyr , 04-Май-06 01:18 
>>Везде говорится одно и тоже: НЕ ЗАПУСКАЙТЕ ИКСЫ ИЗ-ПОД ROOT'А.
>
>Инструкцию по запуску иксов без root в студию.
>Готов поспорить, что у тебя иксы тоже под root работают. Иначе никак,
>разве что SELinux использовать.
Уж не знаю, что у вас там из под линуксов без рута не запускается, а под FreeBSD прекрасно работает. echo "exec startkde" > ~/.xinitrc и вперёд, работать.


"В X11 сервере найдена серьезная уязвимость"
Отправлено pavlinux , 04-Май-06 02:08 
[...отмодерировано...]
но чтоб не отличать KDE от XWindow это перебор... :)

"В X11 сервере найдена серьезная уязвимость"
Отправлено Паштет , 04-Май-06 07:41 
Нислабо :))))
Человек продемонстировал запуск KDE после запуска X Window (под root судя по его словам), что, очевидно, по его мнению, остроумно демонстирует запуск такого монстроида.

[...отмодерировано...]


"В X11 сервере найдена серьезная уязвимость"
Отправлено glebofff , 04-Май-06 08:00 
С тобой можно было бы согласиться, если бы не одно но. Что бы ни написал Dyr в .xinitrc, сам факт этого уже говорит о многом. Во-1х, о том, что он всё-таки отличает KDE от "XWindow". Во вторых, никаких xdm/gdm/и т.д. не запускается при старте системы (что исключает root'а), т.к. придётся редактировать немножко другие файлы (.xsession, etc). Ну и как следствие, иксы стартуют от пользователя командой startx.

[...отмодерировано...]


"В X11 сервере найдена серьезная уязвимость"
Отправлено GateKeeper , 04-Май-06 09:32 
Эх... Думать надо, прежде, чем постить. А после обдумывания - проверять.

# id
uid=1001(userop) gid=0(wheel) groups=0(wheel), 5(operator)
# ps auxww | grep -I "X"
userop   667  0,0  0,1  1672  1148  v2  S+    вт15      0:00,01 /bin/sh /usr/X11R6/bin/startx
userop   685  0,0  0,1  1996  1168  v2  S+    вт15      0:00,00 /usr/X11R6/bin/xinit /home/userop/.xinitrc -- -auth /home/userop/.serverauth.667 -nolisten tcp
root     686  0,0  4,0 50724 41500  v2  R     вт15     17:17,23 X :0 -auth /home/userop/.serverauth.667 -nolisten tcp (Xorg)
# pwd
/usr/X11R6/bin
# ls -l
lrwxr-xr-x  1 root  wheel        4 20 апр 17:27 X -> Xorg
-rws--x--x  1 root  wheel  1677193 20 апр 17:27 Xorg

Этого достаточно, чтоб доказать, что иксы не-под рутом не запускаются?


"В X11 сервере найдена серьезная уязвимость"
Отправлено Floyd , 04-Май-06 10:11 
А вы повнимательней посмотрите  или запустите top на предмет X, он-то как раз из под рута.

floyd@w451:~> ps aux | grep X
floyd     4682  0.0  0.4   3876  1084 tty1     S+   May03   0:00 /bin/sh /usr/X11R6/bin/startx
floyd     4683  0.0  0.2   2796   516 tty1     S+   May03   0:00 tee /home/floyd/.X.err
floyd     4707  0.0  0.2   2496   520 tty1     S+   May03   0:00 xinit /usr/X11R6/lib/X11/xinit/xinitrc -- /usr/X11R6/lib/X11/xinit/xserverrc -auth /home/floyd/.serverauth.4682 -nolisten tcp

root      4708  0.2 18.9  53492 42484 tty7     Ss+  May03   2:56 X :0 -auth /home/floyd/.serverauth.4682 -nolisten tcp -nolisten tcp  # Ой, а он и вправду из под рута ;)


floyd     4738  0.0  0.4   3876   992 tty1     S    May03   0:00 /bin/bash /usr/X11R6/lib/X11/xinit/xinitrc


"В X11 сервере найдена серьезная уязвимость"
Отправлено pavlinux , 04-Май-06 12:10 
Ну да, ну да, - теперь не отличаем GID=0 и имя root или wheel
те же яйца только вид с боку.

Если драйвера будут иметь UID != 0, и им ядро позволит запускатся,
то это будет жопа ещё большая, нежели явная ошибка в модуле Xrender.


"В X11 сервере найдена серьезная уязвимость"
Отправлено GateKeeper , 04-Май-06 17:26 
>Ну да, ну да, - теперь не отличаем GID=0 и имя root или wheel
>те же яйца только вид с боку.

ну да, ну да... теперь еще и не умеем распознать, что в выводе `ps auxww` первым полем идёт не GID, а UID...
Первые две строки показывались для того, чтоб показать, кто какой auth-cookie юзает, третья - показать, от какого пользователя идёт приём данного cookie.

Далее вполне понятный, думаю, вывод `ls -l`. Или указать на arpopos или даже конкретные man'ы?


"В X11 сервере найдена серьезная уязвимость"
Отправлено webdizz , 04-Май-06 09:33 
подтверждаю у меня под фрей X-ы запускаются startx-ом
и тоже из под юзера, настройка да только из под root-а

"В X11 сервере найдена серьезная уязвимость"
Отправлено Kemm , 04-Май-06 11:28 
/usr/X11R6/bin/Xorg принадлежит root'у и имеет установленный suid-бит. Дальше объяснять?

"В X11 сервере найдена серьезная уязвимость"
Отправлено anonimous , 04-Май-06 00:28 
> Везде говорится одно и тоже: НЕ ЗАПУСКАЙТЕ ИКСЫ ИЗ-ПОД ROOT'А. Да и ставить их на сервер - последнее дело...

они всеравно частично под рутом работают, а сервера ведь разные бывают не только рутеры =)


"В X11 сервере найдена серьезная уязвимость"
Отправлено Abigor , 04-Май-06 07:21 
а эксплоит будет?

"В X11 сервере найдена серьезная уязвимость"
Отправлено pavlinux , 04-Май-06 13:12 
Running rendertest from XCB xcb/xcb-demo, is known to trigger this
issue and results in a crash of the X server.

"В X11 сервере найдена серьезная уязвимость"
Отправлено pavlinux , 04-Май-06 13:25 
Это патчик, и где стоит "-" это нихт гуд.
---------------
     if (npoint < 3)
    return;
     ntri = npoint - 2;
-    tris = ALLOCATE_LOCAL (ntri & sizeof (xTriangle));
+    tris = ALLOCATE_LOCAL (ntri * sizeof (xTriangle));
     if (!tris)
    return;
     for (tri = tris; npoint >= 3; npoint--, points++, tri++)
------------

Ставим npoint = 3, в xTriangle = пихаем адрес чего нам надо,
где достать то что нам надо, это надолго... да и оффтопик тут.


"В X11 сервере найдена серьезная уязвимость"
Отправлено Миха , 04-Май-06 09:06 
В OpenBSD не из под рута. Если не верите читайте послейднее интервью Theo De Raadt'a, проскакивало здесь недавно...

"В X11 сервере найдена серьезная уязвимость"
Отправлено Nickolay A Burkov , 04-Май-06 12:32 
Поддерживаю предыдущего оратора, традиционно для OpenBSD:
# ps aux | grep X | grep -v grep
_x11     29067  0.6  8.7  9384 28612 ??  S     27Apr06   98:44.73 X :0 (Xorg)
root     21611  0.0  0.0  1616     4 ??  I     27Apr06    0:00.02 X: [priv] (Xorg)
root     30848  0.0  0.0   632     4 C1  I+    27Apr06    0:00.05 /bin/sh /usr/X11R6/bin/startx

"В X11 сервере найдена серьезная уязвимость"
Отправлено Trubin , 04-Май-06 13:26 
FreeBSD не под рутом :)

{trubin@guru ~} uname -a
FreeBSD guru.kgfi.local 5.5-PRERELEASE FreeBSD 5.5-PRERELEASE #1: Thu Apr  6 18:18:20 MSD 2006     root@guru.kgfi.local:/usr/obj/usr/src/sys/guru.kgfi.local  i386
{trubin@guru ~} top
  PID USERNAME   PRI NICE   SIZE    RES STATE    TIME   WCPU    CPU COMMAND
  703 trubin      96    0 43352K 26548K select   0:16  2.10%  2.10% Xorg
  777 trubin      96    0 28920K 24196K select   0:05  0.59%  0.59% kdeinit
  747 trubin      96    0 32008K 25424K RUN      0:05  0.05%  0.05% kdeinit


"В X11 сервере найдена серьезная уязвимость"
Отправлено sz , 04-Май-06 13:43 
ls -l `which Xorg` в студию

"В X11 сервере найдена серьезная уязвимость"
Отправлено Costea , 04-Май-06 13:36 
вот вырезка из Makefile порта во FreeBSD x11-servers/xorg-server
------cut-------
.if !defined(NO_SUID_XSERVER) || ${NO_SUID_XSERVER} == NO
pre-everything::
        @${ECHO_MSG} "By default, the X Server installs as a set-user-id root binary. When run by"
        @${ECHO_MSG} "a normal user, it checks arguments and environment as done in the x11/wrapper"
        @${ECHO_MSG} "port before handling them normally.  If you are concerned about the security"
        @${ECHO_MSG} "of this, but still want to run an X Server (for example using xdm/kdm/gdm,"
        @${ECHO_MSG} "which will still run the server as root), you can cancel the build and set"
        @${ECHO_MSG} "NO_SUID_XSERVER=YES in /etc/make.conf."

SCRIPTS_ENV+=   SUID_XSERVER=YES
.else
SCRIPTS_ENV+=   SUID_XSERVER=NO
.endif
-----cut------


"В X11 сервере найдена серьезная уязвимость"
Отправлено vovan , 04-Май-06 17:48 
Да, что-то смысл спора не очень понятен. В FreeBSD Х можно запускать не из под рута. Даже в хендбуке описано давно для ленивых :)
А линух - и в африке со своими особенностями :)

"В X11 сервере найдена серьезная уязвимость"
Отправлено SunTech , 04-Май-06 21:24 
То, что можно запускать не из под рута, еще не означает того, что работает он с пользовательскими привилегиями.