Выпуск X.Org Server 1.20.3 с устранением локальной root-уязвимости
Опубликован релиз X.Org Server 1.20.3, в котором устранена опасная уязвимость (CVE-2018-14665), позволяющая повысить свои привилегии или перезаписать любой файл в системе. Проблема проявляется только при запуске X-сервера в режиме запуска с повышенными привилегиями (когда исполняемый файл x-сервера поставляется с установленным битом setuid root и любой непривилегированный пользователь может запустить x-сервер).
Суть уязвимости в том, что при запуске X-сервера пользователь может поменять путь к модулям при помощи опции "-modulepath" и добиться загрузки своего модуля, который будет запущен на этапе до сброса привилегий с правами root. Второй вариант атаки связан с использованием опции "-logfile", при помощи которой локальный злоумышленник может направить вывод лога в любой файл в системе. Например, можно указать в качестве аргумента "-logfile" файла /etc/shadow и переписать его содержимое. При этом для подстановки нужной строки в файл /etc/shadow можно использовать опцию "-fp", значение которой выводится в лог.
Уязвимости вызваны ошибкой, внесенной при подготовке ветки xorg-server 1.19.0 и приводящей к игнорированию проверок некоторых потенциально опасных опций. В качестве обходного пути решения проблемы рекомендуется убрать флаг suid с файла /usr/bin/Xorg и использовать дисплейный менеджер для запуска графического сеанса. Проблема проявляется в RHEL 7.5 и Fedora, но из-за ограничений PAM для эксплуатации атакующий должен иметь доступ к локальной консоли (через SSH эксплуатировать уязвимость не получится). В Ubuntu и SUSE 12+/openSUSE 42+ проблема не проявляется, так как там не используется бит setuid (в SUSE 11 проблема присутствует).