Libinput ievainojamība, kas izraisa koda izpildi, kad ir pievienota ļaunprātīga ierīce

Libinput 1.20.1 bibliotēka, kas nodrošina vienotu ievades steku, kas ļauj izmantot tos pašus līdzekļus notikumu apstrādei no ievades ierīcēm vidēs, kuru pamatā ir Wayland un X.Org, ir novērsusi ievainojamību (CVE-2022-1215), kas ļauj organizēt sava koda izpildi, pieslēdzot sistēmai speciāli modificētu/emulētu ievades ierīci. Problēma izpaužas vidēs, kuru pamatā ir X.Org un Wayland, un to var izmantot gan lokāli savienojot ierīces, gan manipulējot ar ierīcēm ar Bluetooth saskarni. Ja X serveris darbojas kā root, ievainojamība ļauj izpildīt kodu ar paaugstinātām privilēģijām.

Problēmu izraisa rindas formatēšanas kļūda kodā, kas ir atbildīgs par ierīces savienojuma informācijas izvadīšanu žurnālā. Jo īpaši funkcija evdev_log_msg, izmantojot izsaukumu uz snprintf, mainīja žurnāla ieraksta sākotnējā formāta virkni, kurai kā prefikss tika pievienots ierīces nosaukums. Pēc tam modificētā virkne tika nodota funkcijai log_msg_va, kas savukārt izmantoja funkciju printf. Tādējādi pirmais printf arguments, kuram tika piemērota formāta rakstzīmju parsēšana, ietvēra nevalidētus ārējos datus, un uzbrucējs varēja izraisīt steka bojājumu, liekot ierīcei atgriezt nosaukumu, kas satur virknes formāta rakstzīmes (piemēram, "Ļauns %s"). .

Avots: opennet.ru

Pievieno komentāru