V knihovně libinput, která poskytuje jednotný vstupní zásobník pro Wayland a X.Org Server, byla objevena zranitelnost (CVE nebylo přiřazeno). Tato zranitelnost umožňuje spuštění kódu s oprávněními root, když se lokální uživatel připojí k virtuálnímu vstupnímu zařízení emulovanému v uživatelském prostoru prostřednictvím uinput nebo uhid. Problém je opraven ve verzích 1.31.3 a 1.30.4.
Zranitelnost se nachází v obslužné rutině udev s názvem libinput-device-group a
To je způsobeno chybějícím správným escapováním speciálních znaků v atributech přijatých ze zařízení a předávaných subsystému udev ve formátu „klíč=hodnota“. Vložením znaku posunu řádku („\n“) do atributu můžete přidat vlastní pravidlo udev, například spuštěním příkazu uinput UI_SET_PHYS(„poc\n“) = "). Pro spuštění libovolných příkazů s root oprávněními stačí použít podobnou metodu k vložení pravidla udev s vlastností „REMOVE_CMD“, které po odpojení zařízení spustí zadaný příkaz.
Aby útočník mohl tuto zranitelnost zneužít, musí mít přístup k zařízení /dev/uinput nebo /dev/uhid. Obvykle má přístup k uinput a uhid pouze uživatel root, ale některé distribuce obsahují pravidla udev, která umožňují neoprávněným uživatelům používat uinput. Například ve Fedoře se taková pravidla nastavují při instalaci balíčků steam-devices, antimicrox a kdeconnectd. K dispozici je prototyp zneužití.
Zdroj: opennet.ru
