Уязвимост в libinput, позволяваща повишаване на привилегиите в системата

В библиотеката 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>=<стойност>»). За изпълнение на произволни команди с права root е достатъчно по този начин да се подмени udev правило със свойство «REMOVE_CMD», което стартира указаната команда след изключване на устройството.

За експлоатация на уязвимостта, атакуващият трябва да има достъп до устройството /dev/uinput или /dev/uhid. Обикновено достъп до uinput и uhid има само потребител root, но в някои дистрибуции се доставят udev правила, позволяващи на непривилегировани потребители да използват uinput. Например, в Fedora подобни правила се задават при инсталиране на пакетите steam-devices, antimicrox и kdeconnectd. Достъпен е прототип на експлоита.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster