Уязвимость в LightDM, позволяющая повысить свои привилегии в системе
В менеджере входа LightDM, применяемом по умолчанию в Ubuntu выявлена уязвимость (CVE-2017-7358), позволяющая локальному пользователю поднять свои привилегии в системе. Проблема проявляется только в выпусках Ubuntu 16.10 и 16.04 LTS, и на днях устранена в обновлении USN-3255-1.
Проблема вызвана ошибкой в коде создании временной домашней директории в скрипте /usr/sbin/guest-account, который запускается с правами root при каждом вызове гостевого сеанса. В частности, для создания временная домашняя директория создается в общедоступном каталоге /tmp при помощи вызова "mktemp", что позволяет локальному атакующему отследить появление нового каталога через систему inotify и оперативно подменить его на свой каталог (race condition), после чего заменить его на символическую ссылку. Далее каталог будет примонтирован в tmpfs, что не позволит менять в нем данные, но атакующий может разместить свой каталог /bin в новом дереве директорий и разместить в нем свой вариант используемого в скрипте исполняемого файла "getent". Так как каталог окажется в области поиска исполняемых файлов, подмененный "getent" будет выполнен в ходе выполнения скрипта, который работает с правами root.