Выпуск X.Org Server 1.20.3 с устранением локальной root-уязвимости
Добавлено: 29 окт 2018, 10:51
Опубликован релиз X.Org Server 1.20.3, в котором устранена опасная уязвимость (CVE-2018-14665), позволяющая повысить свои привилегии или перезаписать любой файл в системе. Проблема проявляется только при запуске X-сервера в режиме запуска с повышенными привилегиями (когда исполняемый файл x-сервера поставляется с установленным битом setuid root и любой непривилегированный пользователь может запустить x-сервер).
Суть уязвимости в том, что при запуске X-сервера пользователь может поменять путь к модулям при помощи опции "-modulepath" и добиться загрузки своего модуля, который будет запущен на этапе до сброса привилегий с правами root. Второй вариант атаки связан с использованием опции "-logfile", при помощи которой локальный злоумышленник может направить вывод лога в любой файл в системе. Например, можно указать в качестве аргумента "-logfile" файл /etc/shadow и переписать его содержимое, заменив строку с хэшем пароля суперпользователя. Для подстановки нужной строки в файл /etc/shadow можно использовать опцию "-fp", значение которой выводится в лог (например, "cd /etc; Xorg -fp 'root::16431:0:99999:7:::' -logfile shadow :1", после чего можно войти под пользователем root, выполнив команду "su" без пароля).
Уязвимости вызваны ошибкой, внесённой при подготовке ветки xorg-server 1.19.0 и приводящей к игнорированию проверок некоторых потенциально опасных опций. В качестве обходного пути решения проблемы рекомендуется убрать флаг suid с файла /usr/bin/Xorg и использовать дисплейный менеджер для запуска графического сеанса. Проблема проявляется в RHEL 7.5, Debian и Fedora, но из-за ограничений PAM для эксплуатации атакующий должен иметь доступ к локальной консоли (через SSH эксплуатировать уязвимость не получится). В Ubuntu и SUSE 12+/openSUSE 42+ проблема не проявляется, так как там не используется бит setuid (в SUSE 11 проблема присутствует). В OpenBSD уязвимость может быть эксплуатирована при входе по SSH. FreeBSD проблеме не подвержена, так как поставляется с X.Org Server 1.18.
Источник
Суть уязвимости в том, что при запуске X-сервера пользователь может поменять путь к модулям при помощи опции "-modulepath" и добиться загрузки своего модуля, который будет запущен на этапе до сброса привилегий с правами root. Второй вариант атаки связан с использованием опции "-logfile", при помощи которой локальный злоумышленник может направить вывод лога в любой файл в системе. Например, можно указать в качестве аргумента "-logfile" файл /etc/shadow и переписать его содержимое, заменив строку с хэшем пароля суперпользователя. Для подстановки нужной строки в файл /etc/shadow можно использовать опцию "-fp", значение которой выводится в лог (например, "cd /etc; Xorg -fp 'root::16431:0:99999:7:::' -logfile shadow :1", после чего можно войти под пользователем root, выполнив команду "su" без пароля).
Уязвимости вызваны ошибкой, внесённой при подготовке ветки xorg-server 1.19.0 и приводящей к игнорированию проверок некоторых потенциально опасных опций. В качестве обходного пути решения проблемы рекомендуется убрать флаг suid с файла /usr/bin/Xorg и использовать дисплейный менеджер для запуска графического сеанса. Проблема проявляется в RHEL 7.5, Debian и Fedora, но из-за ограничений PAM для эксплуатации атакующий должен иметь доступ к локальной консоли (через SSH эксплуатировать уязвимость не получится). В Ubuntu и SUSE 12+/openSUSE 42+ проблема не проявляется, так как там не используется бит setuid (в SUSE 11 проблема присутствует). В OpenBSD уязвимость может быть эксплуатирована при входе по SSH. FreeBSD проблеме не подвержена, так как поставляется с X.Org Server 1.18.
Источник