24.03.2023

Локальная уязвимость в дисплейном менеджере SDDM


В дисплейном менеджере SDDM (Simple Desktop Display Manager), который применяется по умолчанию в Fedora Linux при выборе рабочего стола KDE и развивается при участии проектов Liri, KDE и LXQt, выявлена уязвимость (CVE-2020-28049), позволяющая локальному пользователю повысить свои привилегии. Проблема устранена в выпуске SDDM 0.19, но в дистрибутивах пока остаётся неисправленной (Debian, RHEL (epel), Ubuntu, SUSE, Fedora).

Уязвимость вызвана состоянием гонки (race condition) при вызове X-сервера. SDDM запускает X-сервер с параметрами «-auth» и «-displayfd», после чего ожидает передачи номера экрана через дескриптор displayfd, но записывает файл Xauthority, указанный в опции «-auth», на диск не сразу, а с определённой задержкой. Таким образом, в течение небольшого времени файл Xauthority оказывается ещё не создан, но X-сервер уже запущен.

При отсутствующем или повреждённом файле Xauthority, X-сервер предоставляет доступ к экрану любому клиенту. Локальный непривилегированный атакующий может подключиться к X-серверу и организовать перехватить клавиатурный ввод другого пользователя. Для эксплуатации достаточно отследить момент запуска X-сервера (например, «inotifywait /tmp/.X11-unix») и подключиться к нему до создания файла Xauthority.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54030

Добавить комментарий