Уязвимость в Linux позволяет sudo-пользователям получить привилегии root

Уязвимость в Linux позволяет sudo-пользователям получить привилегии root

Уязвимость в Linux позволяет sudo-пользователям получить привилегии root

Уязвимость, существующая из-за того, как Sudo обрабатывают tty-информацию, приводит к тому, что пользователь может получит привилегии root и перезаписать любой файл в системах с поддержкой SELinux.

Брешь получила идентификатор CVE-2017-1000367 и была обнаружена Qualys Security в Sudo get_process_ttyname() для Linux. Проблема заключается в том, как Sudo парсит информацию tty из файла состояния процесса в файловой системе proc.

Уязвимость может быть использована локальным пользователем с привилегиями для выполнения команд через Sudo и привести к тому, что пользователь повысит свои привилегии до root. Брешь получила высокую степень риска.

В своем сообщении Qualys Security объясняет, что функция get_process_ttyname() открывает «/proc/[pid]/stat» (man proc) и считывает номер устройства tty из поля 7 (tty_nr). Хотя эти поля разделены пробелами, поле 2 (comm, имя файла команды) может содержать пробелы.

Таким образом, пользователи в системах с поддержкой SELinux могут повысить свои привилегии и перезаписать любой файл в файловой системе, в том числе корневые файлы, с выводом команды.

Чтобы успешно использовать эту проблему, пользователю пришлось бы выбрать номер несуществующего устройства в разделе «/dev». Поскольку Sudo выполняет поиск в первой части /dev, и если терминал не найден в каталоге /dev/pts, пользователь может выделить псевдотерминал и создать символическую ссылку на вновь созданное устройство, об этом говорится в сообщении.

Затем злоумышленник использует этот файл в качестве стандартного ввода, вывода. Если символическая ссылка заменена другим файлом перед тем, как Sudo откроет его, это позволит перезаписывать произвольные файлы.