The OpenNET Project / Index page

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

28.03.2017 20:56  Уязвимость в утилите eject, позволяющая повысить свои привилегии

В утилите eject, предназначенной для инициирования операции извлечения съёмного накопителя (например, CD), обнаружена уязвимость (CVE-2017-6964), позволяющая локальному пользователю повысить свои привилегии в системе.

Утилита dmcrypt-get-device (/usr/lib/eject/dmcrypt-get-device), которая вызывается при запуске eject, выполняется с флагом suid root. Расширенные права требуются только для открытия файла /dev/mapper/control, после чего привилегии сбрасываются и разбор данных от device mapper производится под обычным непривилегированным пользователем. Суть проблемы в том, что разработчики полагали, что выполнение setuid(getuid()) всегда выполнятся успешно и не выполняли проверку возвращаемого значения. Атакующий может создать условия, при которых setuid не сможет быть выполнен (например, из-за превышения лимитов RLimitMEM или RLimitNPROC) и тогда выполнение продолжится без сброса привилегий.

Так как dmcrypt-get-device поставляется только в Debian и Ubuntu, лишь данные дистрибутивы подвержены проблеме (обновления с исправлениями уже выпущены).

  1. Главная ссылка к новости (http://seclists.org/bugtraq/20...)
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: eject, suid, ubuntu
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, EuPhobos, 21:22, 28/03/2017 [ответить] [смотреть все]    [к модератору]
  • +18 +/
    Пытаюсь сделать eject /dev/sde, а флэшка не выпрыгивает из порта, похоже не работает эта программулина..
     
     
  • 2.2, Maks, 21:33, 28/03/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +3 +/
    А в ReactOS выпрыгивает...
     
     
  • 3.3, mihalych, 22:06, 28/03/2017 [^] [ответить] [смотреть все]    [к модератору]
  • +4 +/
    Проц с разъёма?
     
     
  • 4.4, Crazy Alex, 22:11, 28/03/2017 [^] [ответить] [смотреть все]    [к модератору]
  • +8 +/
    от ужаса?
     
     
  • 5.7, Аноним, 22:36, 28/03/2017 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    а-а-а-а!
    пипец..удалю сейчас нафиг этот eject
    от греха подальше..
     
  • 4.6, A.Stahl, 22:27, 28/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Птичка.
     
  • 3.11, Мойша, 23:54, 28/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Выпрыгивает, но пока нет.
     
  • 2.18, Нанобот, 11:00, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –1 +/
    всё выпрыгивает, проверяй кривизну рук
     
  • 1.8, Аноним, 23:02, 28/03/2017 [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Когда же уже вместо suid начнут использовать Capabilities и технологию сброса не... весь текст скрыт [показать]
     
     
  • 2.20, Michael Shigorin, 11:28, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    syscall ejection - ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Andrey Mitrofanov, 11:38, 29/03/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    coming out sandboxing не выпрыгивало шоб, а не этот ваш друпал ... весь текст скрыт [показать]
     
  • 1.9, Аноним, 23:44, 28/03/2017 [ответить] [смотреть все]     [к модератору]  
  • +/
    Ха https github com zalora nixsap blob 0bded4b541fa6b43026f9ca789dfb603ad366d... весь текст скрыт [показать]
     
  • 1.10, iZEN, 23:52, 28/03/2017 [ответить] [смотреть все]    [к модератору]  
  • –5 +/
    % eject
    eject: Команда не найдена.
     
     
  • 2.12, Аноним, 02:37, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +10 +/
    И что это значит, CD уже устарели давно, а в BSD ещё не добавили их поддержку?
     
     
  • 3.13, dimm, 05:19, 29/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    во Фре cdcontrol используется.
     
  • 3.16, A.Stahl, 08:37, 29/03/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Значит ещё недостаточно давно А то ишь, хипстеры-тарапуньки ... весь текст скрыт [показать]
     
  • 3.17, Аноним, 10:01, 29/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Однако в нормально работающих ноутах ещё встречаются :)
     
  • 3.24, Аноним, 13:54, 29/03/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    У вас есть bsdgrep Нет И когда вам там добавят поиск ... весь текст скрыт [показать]
     
  • 1.14, лютый жабист__, 07:05, 29/03/2017 [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    Блюрэй ещё не устарело.
     
     
  • 2.15, kamagan, 07:45, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +9 +/
    Блюрэй устарело ещё до того как появилось.
     
  • 1.19, Нанобот, 11:28, 29/03/2017 [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    подождите-подождите. конкретно эта уязвимость не позволяет повысить привилегии, она лишь оставляет безобидному процессу dmcrypt-get-device права, которые ему не положены. dmcrypt-get-device не пытается делать что-либо, что могло бы привести в выполнению кода.

    Для повышения привилегий нужно найти и проэксплуатировать ещё одну уязвимость далее по коду, что крайне маловероятно...особенно учитывая, что там дальше по коду всего 11 строк (4 из которых - 'return')

     
     
  • 2.21, Аноним, 11:35, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    По логике это конечно так, но непонятно почему в USN-3246-1 написали Eject coul... весь текст скрыт [показать] [показать ветку]
     
  • 2.23, freehck, 12:10, 29/03/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Во-во. Где там в eject можно перехватить управление, чтобы он со своими повышенными привилегиями выполнил моего зловреда? Новость как-то обманывает.
     
     
  • 3.26, Аноним, 16:14, 29/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Я подумал так же ещё когда читал заголовок.
     
  • 3.27, pavlinux, 04:21, 31/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    $ export PATH=./

    $ echo "chmod 7777 /bin/rm" > ./umount;

    [code]
    setuid(getuid()); /* reduce likelyhood of security holes when running setuid */
      if(p_option) {
      execlp("pumount", "pumount", fullName, "-n", NULL);
      execlp("umount", "umount", fullName, "-n", NULL);
    [/code]

    $ /bin/rm -rf /*

    Опа...

     
     
  • 4.28, freehck, 11:35, 31/03/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Да, это, пожалуй, сработает. Круто. :)
     

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


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