The OpenNET Project / Index page

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

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Уязвимость в LightDM, позволяющая повысить свои привилегии в..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от opennews (??) on 19-Апр-17, 10:14 
В менеджере входа LightDM (https://freedesktop.org/wiki/Software/LightDM/), применяемом по умолчанию в Ubuntu, выявлена (http://seclists.org/fulldisclosure/2017/Apr/73) уязвимость (CVE-2017-7358 (https://security-tracker.debian.org/tracker/CVE-2017-7358)), позволяющая локальному пользователю поднять свои привилегии в системе. Проблема проявляется только в выпусках Ubuntu 16.10 и 16.04 LTS, и на днях устранена в обновлении USN-3255-1 (https://www.ubuntu.com/usn/usn-3255-1/).

Проблема вызвана ошибкой в коде создании временной домашней директории в скрипте /usr/sbin/guest-account, который запускается с правами root при каждом создании и завершении гостевого сеанса. В частности, временная домашняя директория создаётся в общедоступном каталоге /tmp при помощи вызова "mktemp", что позволяет локальному атакующему отследить появление нового каталога через  систему inotify и оперативно подменить его на свой  каталог (race condition) до выполнения следующей операции с каталогом в скрипте. В итоге домашняя директория гостевого пользователя будет создана в директории, подконтрольной атакующему, что позволяет заменить  домашнюю директорию на символическую ссылку (например, спозиционировать её на /usr/local/sbin).


Далее каталог будет примонтирован в tmpfs с изменением прав доступа ("mount -t tmpfs -o mode=700,uid=${GUEST_USER} none ${GUEST_HOME}") для директории, на которую указывает символическая ссылка. Затем, так как права доступа на каталог /usr/local/sbin изменены, можно разместить в  нём свой вариант используемого в скрипте исполняемого файла "getent". Так как каталог окажется в области поиска исполняемых файлов, подменённый "getent" будет вызван в ходе выполнения скриптом операции обработки завершения гостевого сеанса, которая выполняется с правами root.


URL: http://seclists.org/fulldisclosure/2017/Apr/73
Новость: https://www.opennet.ru/opennews/art.shtml?num=46403

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –3 +/
Сообщение от Аноним (??) on 19-Апр-17, 10:14 
винда... тьфу, убунтопроблемы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +5 +/
Сообщение от Аноним (??) on 19-Апр-17, 11:05 
lightdm - это не убунтопроект.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +1 +/
Сообщение от Andrey Mitrofanov on 19-Апр-17, 12:10 
> lightdm - это не убунтопроект.

Проект по гномо-внедрению рэхатом уязвимостей в дифолтный dm убу через посредство фридекстоп.орг -- так правильно?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –2 +/
Сообщение от Michael Shigorin email(ok) on 19-Апр-17, 13:04 
> lightdm - это не убунтопроект.

Вообще-то это как раз убунтопроект в хорошем (ну, с учётом новости -- почти) смысле слова.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

14. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +1 +/
Сообщение от Аноним84701 (ok) on 19-Апр-17, 14:41 
> lightdm - это не убунтопроект.

Опять на опеннет пакеты из параллельных вселенных приходят?

http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view...


#!/bin/sh -e
# (C) 2008 Canonical Ltd.
# Author: Martin Pitt <martin.pitt@ubuntu.com>
# License: GPL v2 or later
# modified by David D Lowe and Thomas Detoux
#
# Setup user and temporary home directory for guest session.
# If this succeeds, this script needs to print the username as the last line to
# stdout.

http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view...

/*
* Copyright (C) 2010-2011 Robert Ancell.
* Author: Robert Ancell <robert.ancell@canonical.com>

http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view...
/*
* Copyright (C) 2016 Canonical Ltd.

http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view...

* Copyright (C) 2010-2011 Robert Ancell.
* Author: Robert Ancell <robert.ancell@canonical.com>

https://wiki.ubuntu.com/RobertAncell
> Canonical employee since 2009

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

26. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –1 +/
Сообщение от iPony on 20-Апр-17, 10:34 
А это чьи проблемы? https://bugzilla.redhat.com/show_bug.cgi?id=713640
При пробуждение после спячки сначала отображается экран, а потом уже показывается скринлок.
Секурно?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

31. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от irinat (ok) on 21-Апр-17, 16:52 
На системах с HDD всё норм. Понаставят SSD кругом, а потом мучаются.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

8. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –4 +/
Сообщение от бедный буратино (ok) on 19-Апр-17, 12:54 
блин, я думал, можно без пароля зайти

а тут какая-то эквилибристика, когда у юзера уже есть доступ к системе, и он знает, когда кто будет логиниться, и кучу инструментов уже разложил

так и пишите - *теоретическая уязвимость*

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от папа карло on 19-Апр-17, 14:34 
Можно сделать автоматический вход, можно пароль на время в shadow убрать.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

27. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 20-Апр-17, 11:58 
Это весьма практическая уязвимость, позволяющая любому пользователю стать рутом.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 19-Апр-17, 13:05 
чет я не врубаюсь. mktemp вроде как создает папку с рандомным именем и возвращает имя скрипту. что там можно захватить - не понимаю. ну узнали мы имя созданной папки, каким раком ее можно подменить, если она не принадлежит другому пользователю?
ну разве что в убунте права на /tmp без sticky бита, но тогда это косяк всей системы, а не отдельного скрита
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от папа карло on 19-Апр-17, 14:34 
inotify :(
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –1 +/
Сообщение от Аноним (??) on 19-Апр-17, 16:38 
сомневаюсь, что оно оповещает раньше чем фактически создается файл/директория. иначе бы RC были на каждом шагу.
чтобы сабж сработал нужно чтобы у атакующего uid был такой же как у логинившегося или /tmp с правами 777 вместо 1777.
а вообще тут ламерский какой-то ресурс - минусы ставят, а обьяснить ничего нормально не могут... :)
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

17. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от папа карло on 19-Апр-17, 16:51 
Смысл в том, что сначала каталог создается, потом на него меняются права.
В момент создания каталога, можно успеть совершить необходимые действия, любые на выбор:
- создать свой файл/ссылку в каталоге
- переименовать каталог и создать свой или слинковать на нужный
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 19-Апр-17, 20:35 
> Смысл в том, что сначала каталог создается, потом на него меняются права.

Из описания в новости следует что каталог создаётся от root:
> Проблема вызвана ошибкой в коде создания временной домашней директории в скрипте /usr/sbin/guest-account, который запускается с правами root
> - создать свой файл/ссылку в каталоге
> - переименовать каталог и создать свой или слинковать на нужный

Из-за sticky бита на /tmp вы не сможете это сделать с файлами/каталогами созданными root'ом.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

23. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 19-Апр-17, 20:51 
> Смысл в том, что сначала каталог создается, потом на него меняются права.

Не совсем, там основной смысл ошибки в том что они создают _два_ каталога, один через mktemp, а второй _с таким же именем но в нижнем регистре_. Вот второй можно успеть перехватить.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от anonym_anonym on 19-Апр-17, 20:22 
Проблема (я так думаю) в том что не проверяли создал ли вызов mktemp директорию
и не проверяли существует ли директория куда делают mv (зачем вообще был этот mv?).

Вот фикс http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/revi...
Хотя я его не понимаю.

Ведь если


temp_home=$(mktemp -td guest-XXXXXX)

не создал директорию (например такая уже есть), то после

GUEST_HOME=$(echo ${temp_home} | tr '[:upper:]' '[:lower:]')

GUEST_HOME будет равно temp_home и вот этот код не сработает


if [ "${GUEST_HOME}" != "${temp_home}" ]; then
    mkdir "${GUEST_HOME}" || {
      echo "Failed to create ${GUEST_USER}'s home directory (${GUEST_HOME})"
      exit 1
    }
    rmdir "${temp_home}"
fi

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 19-Апр-17, 20:49 
Там вообще бредовый код, они вызывают mktemp, а потом _создают новый каталог с таким же именем но в нижнем регистре_. Тут и повяляется этот raice condition, увидев что mktemp создал каталог, юзер может успеть создать такой же каталог с именем в нижнем регистре.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от Аноним (??) on 19-Апр-17, 20:38 
> чтобы сабж сработал нужно чтобы у атакующего uid был такой же как у логинившегося или /tmp с правами 777 вместо 1777.

+1, в описанном в новости нет никакой уязвимости из-за sticky бита и запуска от другого пользователя (root)

> а вообще тут ламерский какой-то ресурс - минусы ставят, а обьяснить ничего
> нормально не могут... :)

Ага.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –1 +/
Сообщение от Аноним (??) on 19-Апр-17, 17:49 
Добрый день! Уважаемые, разъясните анониму, linux многопользовательская система или нет? На домашнем ноуте LightDM, DE -XFCE4, Debian (точнее -MX Linux) жмакаю "сменить пользователя", через LightDM входит другой пользователь. Я в полной уверености, что мой сеанс заблокирован, без ввода пароля никто не сможет войти под моим логином. И вот, недавно, переключаюсь между сеансами  по CTRL ALT F7 - CTR ALT F8 - отрывается мой сеанс без всякого пароля, что это - огромная дырка в безопасности или я чего то не понял? На работе везде винда - там без ввода пароля никак не залогонишься. Может это особенность именно LightDM или XFCE4, в других DE такого нет?  
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –1 +/
Сообщение от а такой уже зарегистрирован в системе on 19-Апр-17, 22:28 
> разъясните анониму, linux многопользовательская система или нет?

Аноним, разъясняю тебе - Линукс это многопользовательская система.

> И вот, недавно, переключаюсь между сеансами
> по CTRL ALT F7 - CTR ALT F8 - отрывается мой сеанс без всякого пароля,

А вот тут ты лукавишь. Alt + Fx не переключает между сеансами.
Это переключение между терминалами.

И это ответ на твой вопрос о многопользовательской системе - у тебя два пользователя на двух терминалах одновременно.
А можно и тремями и четырмями залогинится. Скока терминалов настроишь.
А да, ещё и удалённо можно.
И у всех сеансы будут работать.

Я вообще-то думал что Windows тоже позволяет нескольким пользователям одновременно работать.
Неужели не так?
Если я залогинюсь, то все другие отваляться? Что-то не верится.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

25. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +1 +/
Сообщение от Аноним (??) on 20-Апр-17, 03:12 
> Я вообще-то думал что Windows тоже позволяет нескольким пользователям одновременно работать.
> Неужели не так?
> Если я залогинюсь, то все другие отваляться? Что-то не верится.

Локально в win может только один пользователь одновременно работать, второму просто некуда ввести логин/пароль, активный пользователь захватывает ввод-вывод (экран, клавиатуру) эксклюзивно.
Удалённо по rdp можно несколько одновременно, но нужна лицензия на такую работу.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

28. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  –1 +/
Сообщение от аноним такой аноним on 20-Апр-17, 15:55 
Ну, хорошо, пускай будет термнал. Как это решает проблему безопасности? Любой может открыть терминал в котором запущен мой сеанс и украсть мои фотки с котятами. Как то так.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

29. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от iPony on 21-Апр-17, 06:51 
> Любой может открыть терминал в котором запущен мой сеанс и украсть мои фотки с котятами.

Ну по умолчанию папки других пользователей доступны же на чтение. Так что зачем терминал? :D

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "Уязвимость в LightDM, позволяющая повысить свои привилегии в..."  +/
Сообщение от iPony on 21-Апр-17, 06:54 
> "The majority of users of Ubuntu systems either have exclusive use of the machine (personal laptop) or are sharing with friends and relatives. We assume that the people who share the machine are either trusted, or in a position to hack the machine (boot from USB!) trivially. As a result, there is little to no benefit"

https://bugs.launchpad.net/ubuntu/+source/adduser/+bug/48734

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема



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