Уязвимост в 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>=<value>»). За изпълнение на произволни команди с права 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