In der Bibliothek libinput, die einen einheitlichen Eingabestack fĂŒr Wayland und den X.Org-Server bereitstellt, wurde eine Schwachstelle (CVE nicht zugeordnet) entdeckt, die es ermöglicht, Code mit Root-Rechten auszufĂŒhren, indem ein lokaler Benutzer ein virtuelles EingabegerĂ€t verbindet, das im Benutzermodus ĂŒber uinput oder uhid emuliert wird. Das Problem wurde in den Versionen 1.31.3 und 1.30.4 behoben.
Die Schwachstelle ist im udev-Handler libinput-device-group vorhanden und
wird durch fehlende ordnungsgemĂ€Ăe Escape-Sequenzen von Sonderzeichen in den von GerĂ€ten erhaltenen Attributen verursacht, die in Form von âSchlĂŒssel=Wertâ an das udev-System ĂŒbermittelt werden. Durch die EinfĂŒgung des Zeilenumbruchs (â\nâ) in das Attribut kann man seine eigene udev-Regel hinzufĂŒgen, zum Beispiel durch die AusfĂŒhrung des uinput-Befehls UI_SET_PHYS(âpoc\n<SECOND_KEY>=<value>â). Um beliebige Befehle mit Root-Rechten auszufĂŒhren, reicht es aus, auf diese Weise eine udev-Regel mit der Eigenschaft âREMOVE_CMDâ einzufĂŒgen, die den angegebenen Befehl nach dem Trennen des GerĂ€ts ausfĂŒhrt.
Um die Schwachstelle auszunutzen, muss der Angreifer Zugriff auf das GerĂ€t /dev/uinput oder /dev/uhid haben. Normalerweise hat nur der Benutzer root Zugriff auf uinput und uhid, aber in einigen Distributionen gibt es udev-Regeln, die es unprivilegierten Benutzern ermöglichen, uinput zu verwenden. Zum Beispiel werden in Fedora solche Regeln bei der Installation der Pakete steam-devices, antimicrox und kdeconnectd gesetzt. Ein Exploit-Prototyp ist verfĂŒgbar.
Quelle: opennet.ru
