Dobësi në libinput që çon në ekzekutimin e kodit kur lidhet një pajisje me qëllim të keq

Biblioteka libinput 1.20.1, e cila ofron një pirg të unifikuar hyrëse që ju lejon të përdorni të njëjtat mjete të përpunimit të ngjarjeve nga pajisjet hyrëse në mjediset e bazuara në Wayland dhe X.Org, ka eliminuar një cenueshmëri (CVE-2022-1215), e cila ju lejon të organizoni ekzekutimin e kodit tuaj kur lidhni një pajisje hyrëse të modifikuar/emuluar posaçërisht me sistemin. Problemi manifestohet në mjediset e bazuara në X.Org dhe Wayland dhe mund të shfrytëzohet si kur lidhni pajisjet në nivel lokal ashtu edhe kur manipuloni pajisjet me një ndërfaqe Bluetooth. Nëse serveri X funksionon si rrënjë, dobësia lejon që kodi të ekzekutohet me privilegje të ngritura.

Problemi është shkaktuar nga një gabim i formatimit të linjës në kodin përgjegjës për nxjerrjen e informacionit të lidhjes së pajisjes në regjistër. Në veçanti, funksioni evdev_log_msg, duke përdorur një thirrje në snprintf, ndryshoi vargun e formatit origjinal të hyrjes së regjistrit, të cilit iu shtua emri i pajisjes si parashtesë. Më pas, vargu i modifikuar iu kalua funksionit log_msg_va, i cili përdorte funksionin printf. Kështu, argumenti i parë në printf, në të cilin u aplikua analiza e karaktereve të formatit, përmbante të dhëna të jashtme të pavlefshme dhe një sulmues mund të iniconte prishjen e stivës duke bërë që pajisja të kthente një emër që përmban karaktere të formatit të vargut (për shembull, "Evil %s") .

Burimi: opennet.ru

Shto një koment