Kwesbaarheid in libinput wat lei tot kode-uitvoering wanneer 'n kwaadwillige toestel gekoppel word

Die libinput 1.20.1-biblioteek, wat 'n verenigde invoerstapel bied wat jou toelaat om dieselfde maniere te gebruik om gebeure vanaf invoertoestelle in omgewings gebaseer op Wayland en X.Org te gebruik, het 'n kwesbaarheid (CVE-2022-1215) uitgeskakel, wat laat jou toe om die uitvoering van jou kode te organiseer wanneer jy 'n spesiaal gewysigde/geëmuleerde invoertoestel aan die stelsel koppel. Die probleem manifesteer hom in omgewings gebaseer op X.Org en Wayland, en kan uitgebuit word wanneer toestelle plaaslik verbind word en wanneer toestelle met 'n Bluetooth-koppelvlak gemanipuleer word. As die X-bediener as wortel loop, kan die kwesbaarheid kode met verhoogde voorregte uitgevoer word.

Die probleem word veroorsaak deur 'n lynformateringsfout in die kode wat verantwoordelik is vir die uitvoer van toestelverbindinginligting na die logboek. In die besonder, die evdev_log_msg-funksie, met behulp van 'n oproep na snprintf, het die oorspronklike formaatstring van die loginskrywing verander, waarby die toestelnaam as 'n voorvoegsel bygevoeg is. Vervolgens is die gewysigde string na die log_msg_va-funksie oorgedra, wat op sy beurt die printf-funksie gebruik het. Dus, die eerste argument na printf, waarop formaatkarakterontleding toegepas is, het ongevalideerde eksterne data bevat, en 'n aanvaller kan stapelkorrupsie inisieer deur die toestel 'n naam terug te gee wat string-formaat karakters bevat (byvoorbeeld "Evil %s") .

Bron: opennet.ru

Voeg 'n opmerking