В библиотеке libinput, предоставляющей унифицированный стек ввода для Wayland и X.Org Server, выявлена уязвимость (CVE не назначен), позволяющая добиться выполнения кода с правами root через подключение локальным пользователем виртуального устройства ввода, сэмулированного в пользовательском пространстве через uinput или uhid. Проблема устранена в выпусках 1.31.3 и 1.30.4. Уязвимость присутствует в udev-обработчике libinput-device-group и вызвана отсутствием должного экранирования спецсимволов в атрибутах, получаемых от устройств и передаваемых в подсистему udev в форме "ключ=значение". Через подстановку символа перевода строки ("\n") в атрибут, можно добиться добавления своего правила udev, например, через выполнение uinput-команды UI_SET_PHYS("poc\n‹SECOND_KEY›=‹value›"). Для выполнения произвольных команд с правами root достаточно подобным способом подставить udev-правило со свойством "REMOVE_CMD", запускающем указанную команду после отключения устройства. Для эксплуатации уязвимости атакующий должен иметь доступ к устройству /dev/uinput или /dev/uhid. Обычно доступ к uinput и uhid имеет только пользователь root, но в некоторых дистрибутивах поставляются udev-правила, позволяющие непривилегированным пользователям использовать uinput. Например, в Fedora подобные правила выставляются при установке пакетов steam-devices, antimicrox и kdeconnectd. Доступен прототип эксплоита.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65615
Источник: https://www.opennet.ru/opennews/art.shtml?num=65615