Уязвимость функции get_process_ttyname программы системного администрирования Sudo может позволить нарушителю повысить привилегии до уровня суперпользователя и выполнить произвольный код

Уязвимость функции get_process_ttyname программы системного администрирования Sudo связана с недостаточной проверкой вводимых данных. Эксплуатация уязвимости осуществляется путем создания символической ссылки на исполняемый файл Sudo, которому присваивается специальным образом сформированное имя (пробел, после которого следует число). При запуске такого файла, расположенного по адресу /proc/[pid]/stat, Sudo пытается определить tty-номер устройства, но поскольку в качестве разделителей в адресе также используются пробелы, запуск через ссылку с пробелом в имени файла позволяет подставить произвольный номер устройства, не связанный с каким-либо существующим устройством в каталоге по адресу /dev. Если Sudo не находит терминал в каталоге по адресу /dev/pts, она осуществляет поиск в каталоге по адресу /dev. Уязвимость позволяет нарушителю создать фиктивный терминал и, в процессе поиска устройства, когда проверка по адресу /dev/pts уже завершена, а проверка по адресу /dev еще не начата, установить на него символическую ссылку. После этого данный файл будет восприниматься Sudo как текущий терминал. Эксплуатация уязвимости может позволить нарушителю, действующему локально, повысить привилегии до уровня суперпользователя и выполнить произвольный код

CVE: CVE-2017-1000367, USN-3304-1, DSA-3867-1, RHSA-2017:1381, RHSA-2017:1382, SUSE-SU-2017:1450-1
CVSS v2.0: 6.9