The OpenNET Project / Index page

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

Уязвимости в X.Org Server и CUPS

11.02.2015 08:52

В корректирующих выпусках X.Org Server 1.17.1 и 1.16.4 устранена уязвимость (CVE-2015-0255), которая может привести к утечке содержимого памяти сервера. Клиент, имеющий доступ к X-серверу, отправив специально оформленный запрос XkbSetGeometry, может инициировать утечку данных через буферы XKB. Размер порции данных ограничен 64Кб, но через запрос строк по цепочке можно получить больше информации. Проблема присутствует начиная с выпуска X11R6.1, представленного в марте 1996 года.

Кроме того, устранена уязвимость в корректирующем выпуске свободной системы печати CUPS 2.0.2. Проблема вызвана переполнением буфера в функции cupsRasterReadPixels и может быть эксплуатирована через отправку на печать сжатых растровых данных, снабжённых специально оформленным заголовком страницы.

  1. Главная ссылка к новости (http://seclists.org/oss-sec/20...)
  2. OpenNews: Релиз системы печати CUPS 2.0 с поддержкой systemd
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41654-cups
Ключевые слова: cups, xorg
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Xaionaro (ok), 10:36, 11/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Клиент, имеющий доступ к X-серверу, отправив специально оформленный запрос XkbSetGeometry, может инициировать утечку данных через буферы XKB.

    Интересно, а кто-нибудь из местной публики использует Xorg для соединений от недоверенных клиентов?

     
     
  • 2.2, Zenitur (ok), 10:41, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Только для локальной сети.
     
  • 2.3, Аноним (-), 11:21, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Запуск скупэ из чрута.
     
     
  • 3.4, Дждо (?), 11:44, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Запуск скупэ из чрута.

    В свое время  браузер от своего юзера запускал.  Извращение еще то.

     
     
  • 4.8, Аноним (-), 14:14, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А как насчёт через dial-up 33.6 kbps по протоколу NX, когда он ещё свободен был, весь рабочий стол кдешный? Не сахар конечно, но работать можно, если сильно нужно. А по локалке 100 Mbps можно и без сжатия комфортно.
     
  • 4.9, Michael Shigorin (ok), 14:46, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В свое время браузер от своего юзера запускал.  Извращение еще то.

    http://ftp.altlinux.org/pub/people/ldv/hasher/thesis-2005.html -- и проще, и лучше.

     
     
  • 5.18, Аноним (-), 18:20, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это его в альте предполагается использовать завместо docker? Слудбы в нем можно запускать? Или, если требуется сохранять данные в контейнере, то хашер не подходит?
     
     
  • 6.19, Michael Shigorin (ok), 18:59, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это его в альте предполагается использовать завместо docker?

    Вообще-то в альте hasher доступен с 2003 года -- а предлагалось использовать для запуска приложений, как видим по дате в ссылке, почти десятилетие тому.

    > Службы в нем можно запускать?

    Не пробовал, для них обычно оказываются практичней VE.

    $ hsh --initroot $TMP/hasher
    $ hsh-install $TMP/hasher vixie-cron
    $ hsh-run --rooter $TMP/hasher service crond start
    Starting crond service: <78>Feb 11 15:56:09 crond[14832]: (CRON) STARTUP (V5.0)
    <29>Feb 11 15:56:09 crond: crond startup succeeded
    [ DONE ]

    Здесь фоновый процесс запустился, hsh-run не вернулся; при ^C был прибит и запущенный им crond.

    С nginx без укрутки лимитов (или поднятия для hasher-priv) не вышло:

    /etc/init.d/nginx: line 24: ulimit: open files: cannot modify limit: Operation not permitted

    Вердикт -- при желании приспособить, наверное, можно, но с учётом ровно для того и предназначенных OpenVZ и LXC не видно смысла.

    > Или, если требуется сохранять данные в контейнере, то хашер не подходит?

    Он работает с чрутами -- на какой ФС разместите, там и будут сохраняться (или не сохраняться).

    По сути решаются две задачи -- наполнение чрута (разворачивание приложения с зависимостями) и изоляция выполняемого кода с исключением атак на псевдопользователя, от которого возможно манипулировать "рутовым" содержимым чрута, и на вызывающего пользователя (который hsh-run запускал).

    Кстати, слышал про порты hasher на fedora и вроде бы на debian.

     
     
  • 7.20, Аноним (-), 19:32, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вердикт -- при желании приспособить, наверное, можно, но с учётом ровно для того и предназначенных OpenVZ и LXC не видно смысла.

    Да-да, одиночные сервисы в OpenVZ совать.. Ну посуйте - за одно поймете насколько это не весело, и сколько проблем у OpenVZ в этом случае.

    hint. один процесс читающий диру и влетевший в какой либо из лимитов (cpu, io) тормозит все остальные операции в этой директории потому как удерживает i_mutex. И это by design. причем пытаются вставлять точки "сна" при вызове journal_start_handle. А так - да, попробуйте - потом расскажете.

     
     
  • 8.22, Michael Shigorin (ok), 19:42, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Во-первых, малыми группами и применял Во-вторых, в том же Clustrx был реализов... текст свёрнут, показать
     
  • 2.6, _KUL (ok), 12:56, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Админы народ ленивый и консервативный, имея сервак и сотню сервисов хорошо работающих, не будут багтрекеры этих продуктов парсить ежедневно. А вот опеннет читают за чаем(новости, новинки, срачи в коментариях), узнают про уязвимости на которые нужно обратить внимание и задумываются об apt-get upgrade.
    Но от части да, ваше негодование понятно и от части солидарен с вами.
     

  • 1.7, Аноним (-), 13:13, 11/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > утечку данных ... Размер порции данных ограничен 64Кб, но через запрос строк по цепочке можно получить больше информации
    > Проблема присутствует начиная с выпуска X11R6.1, представленного в марте 1996 года.

    Утечка неопределённого количества данных из памяти сервера порциями по 64 КБ... Прообраз Heartbleed?

     
  • 1.10, pavlinux (ok), 15:18, 11/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/



    + next = wire + XkbPaddedSize(len + 2);
    +
    + /* Check we're still within the size of the request */
    + if (client->req_len < bytes_to_int32(next - (char *) client->requestBuffer))
    +    return BadValue;
    +
    + *str = malloc(len + 1);
    + if (!*str)
    +    return BadAlloc;
    +
    + memcpy(*str, &wire[2], len);
    + *(*str + len) = '\0';
    + *wire_inout = next;
    + return Success;
    }


    Довольно редкостная функция, им чо жалко calloc() иль malloc+memset сделать?
    Так нет, надо выпендриться, посчитать длину и вписать туды нолик *(*str + len) = '\0';

     
     
  • 2.11, cmp (ok), 15:33, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Проблема присутствует начиная с выпуска X11R6.1, представленного в марте 1996 года.

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

     
     
  • 3.13, абвгдейка (?), 16:53, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    установка диапазона памяти в число - одна инструкция процессора уже более 30 лет и не может быть накладной априори :)
     
     
  • 4.17, клоун (?), 18:06, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А загрузка Линукса - другая.
     
  • 4.28, cmp (ok), 08:33, 12/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    линукс вроде как кроссплатформенный, так что возникает вопрос какого процессора.

    Вообще, 20 лет прошло с тех пор, кто знает откуда этот код был скопирован и почему было написано именно так, вполне вероятно, что автор и не помыслял о том, что эта память будет отдана процессу другого юзера, спецификации tcp/ip тоже состоят из "багов" которые можно использовать во зле, но так или иначе это фиксится.

     
     
  • 5.29, абвгдейка (?), 13:54, 12/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    процессор - исполнитель, главное, что написал кодер и как это транслировал компилятор :)
     
     
  • 6.32, cmp (ok), 17:01, 13/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такое выражение - короля делает свита, так и любой код делает контекст в котором он используется,и если изначально программист задумал и написал прогу таким образом, что все данные проходят из вне через проверку, а внутри уже бегают по функциям без проверок, то другой может сделать дописку которая позволяет данным попасть в, или уйти из проги без проверок, ну так программист то первоначальный не виноват, и компилятор не виноват.
     
  • 2.21, Аноним (-), 19:34, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/

    > Довольно редкостная функция, им чо жалко calloc() иль malloc+memset сделать?
    > Так нет, надо выпендриться, посчитать длину и вписать туды нолик *(*str +
    > len) = '\0';

    да да. Так видимо думали красавцы в ядре - которые постоянно обнуляли по 100 байт при создании иноды.
    А в результате memset занимал очень интересный процент при некоторых workload..

     

  • 1.12, Аноним (-), 16:48, 11/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    X.Org - слишком устаревший, слишком захламлённый и слишком небезопасный.
    Пора уже везде заменить это на нормальный современный графический сервер. А лучше на облака.
    Да, именно, графические облака.
     
     
  • 2.16, Клыкастый (ok), 18:04, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +10 +/
    а лучше сразу на лошадок. графических белогривых лошадок.
     
     
  • 3.24, Аноним (-), 20:24, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а лучше сразу на лошадок. графических белогривых лошадок.

    Сферических и в вакууме.

     
  • 3.27, soarin (?), 08:21, 12/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > а лучше сразу на лошадок. графических белогривых лошадок.

    слишком тяжёлые, лучше пони

     
  • 2.25, Аноним (-), 20:30, 11/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >X.Org - слишком устаревший, слишком захламлённый и слишком небезопасный.
    >Пора уже везде заменить это на нормальный современный графический сервер. А лучше на облака.
    >Да, именно, графические облака.

    Для таких как ты есть microsoft - потребляй их продукты и услуги. Мне не понятно что ты тут забыл вообще и для чего ты это пишешь. Очевидно же что думающие люди сделают как надо, а не будут слушать бредни всяких горлопанов.

     
  • 2.26, Аноним (-), 03:32, 12/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вместо того, чтобы попытаться понять как это должно выглядеть в реале и как это сделать, вы хаяте и стебётесь. Вполне обычное поведение для приматов.
     
  • 2.30, Xaionaro (ok), 20:24, 12/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > X.Org - слишком устаревший, слишком захламлённый и слишком небезопасный.

    Вы Xorg с какой целью используете? Чем конкретно он вас не устраивает?

    > Пора уже везде заменить это на нормальный современный графический сервер. А лучше на облака.
    > Да, именно, графические облака.

    *убрал эмоциональный текст*

    Зачем?

    P.S.: Если у вас слабенький ноут, и вы хотите задействовать другой компьютер для игрушек (вдруг ностальгия замучала или хотите в 0ad сыграть), то лично в моём случае неплохо подошёл virtualgl. Да-да, именно с применением этого «устаревшего» Xorg.

     
     
  • 3.31, Аноним (-), 15:42, 13/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А в моём подойдут графические облака.
     

  • 1.15, manster (ok), 17:25, 11/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    странно - в GLSA тишина
     

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



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

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