Podatność w libinput umożliwiająca podwyższenie swoich uprawnień w systemie

W bibliotece libinput, zapewniającej zunifikowany stos wejściowy dla Wayland i X.Org Server, zidentyfikowano lukę (CVE nieprzydzielony), która umożliwia wykonanie kodu z uprawnieniami root przez lokalne podłączenie wirtualnego urządzenia wejściowego, symulowanego w przestrzeni użytkownika za pomocą uinput lub uhid. Problem został rozwiązany w wersjach 1.31.3 i 1.30.4.

Luka występuje w handlerze udev libinput-device-group i
jest spowodowana brakiem właściwego escape'owania znaków specjalnych w atrybutach pobieranych z urządzeń i przekazywanych do podsystemu udev w postaci «klucz=wartość». Poprzez podstawienie znaku nowej linii («\n») do atrybutu, można dodać własną regułę udev, np. przez wykonanie polecenia uinput UI_SET_PHYS(«poc\n<SECOND_KEY>=<value>»). Aby wykonać dowolne polecenia z uprawnieniami root, wystarczy w ten sposób podstawić regułę udev z właściwością «REMOVE_CMD», która uruchomi określone polecenie po odłączeniu urządzenia.

Aby wykorzystać lukę, atakujący musi mieć dostęp do urządzenia /dev/uinput lub /dev/uhid. Zwykle dostęp do uinput i uhid ma tylko użytkownik root, ale w niektórych dystrybucjach dostarczane są reguły udev, które umożliwiają nieuprzywilejowanym użytkownikom korzystanie z uinput. Na przykład, w Fedorze takie reguły są ustawiane podczas instalacji pakietów steam-devices, antimicrox i kdeconnectd. Dostępny jest prototyp exploita.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster