Проект OpenBSD
Xorg - очень известная оконная система X, используемая в Linux. Это графический пользовательский интерфейс, использующий стандарт X11, который, в свою очередь, является протоколом связи. Xorg был создан на основе проекта XFree86, который больше не находится в активной разработке.
Эксплойт повышения привилегий
Все версии сервера Xorg X11 от 1.19.0 до 1.20.3 уязвимы для недостатков проверки прав доступа, которые существуют для параметров -modulepath и -logfile. Это дает непривилегированным пользователям возможность запускать сервер, запускать произвольный код с повышенными привилегиями.
Исследователи выяснили, что запуск CRON-скрипта с загруженным эксплойтом заставляет SELinux применять его. Создается файл резервной копии crontab.old, который, по сути, заменяется модулем Metasploit новым файлом с командами и инструкциями для запуска демона cron. Неудачная эксплуатация может привести к повреждению файла crontab. Xorg также должен иметь разрешения SUID для работы эксплойта, что вы можете проверить из фрагмента кода ниже.
# проверка linux
uname = cmd_exec «uname»
если uname = ~ / linux / i
vprint_status «Выполняется дополнительная проверка для Linux»
если хранилище данных [‘ConsoleLock’] user = cmd_exec «id -un»
если не существует? «/ Var / run / console / # {пользователь}»
vprint_error «Нет блокировки консоли для # {user}»
return CheckCode :: Safe
конец
vprint_good «Блокировка консоли для № {user}»
конец
если selinux_installed?
если selinux_enforcing?
vprint_error 'Selinux применяет'
return CheckCode :: Safe
конец
конец
vprint_good «Selinux не проблема»
конец# проверка программы suid
xorg_path = cmd_exec «команда -v Xorg»
кроме xorg_path.include? («Xorg»)
vprint_error «Не удалось найти исполняемый файл Xorg»
return CheckCode :: Safe
конец
vprint_good «Путь Xorg найден в # {xorg_path}»
разве что setuid? xorg_path
vprint_error «Бинарный файл Xorg # {xorg_path} не является SUID»
return CheckCode :: Safe
конец
vprint_good «Двоичный код Xorg # {xorg_path} - это SUID»
Методология тестирования
Над этим эксплойтом работали четыре исследователя -
- Нарендра Шинде - Открытие и подвиг
- Raptor-0xdea - модифицированный эксплойт для cron
- Аарон Ринго - модуль Metasploit
- Брендан Коулз - модуль Metasploit
Это было протестировано на OpenBSD 6.3, 6.4 и CentOS 7 (1708). Согласно примечаниям к Packetstorm, CentOS с установкой по умолчанию потребуется консольная аутентификация для пользовательских сеансов.
Это серьезная уязвимость, учитывая масштабы использования Xorg. Хотя для работы эксплойту требуются некоторые предустановки, которые могут отсутствовать в профессиональной среде.
Теги CentOS OpenBSD Xorg