Sårbarhet i libinput som fører til kodekjøring når en ondsinnet enhet kobles til

Libinput 1.20.1-biblioteket, som gir en enhetlig inngangsstabel som lar deg bruke de samme måtene å behandle hendelser fra inngangsenheter i miljøer basert på Wayland og X.Org, har eliminert en sårbarhet (CVE-2022-1215), som lar deg organisere kjøringen av koden din når du kobler en spesielt modifisert/emulert inngangsenhet til systemet. Problemet manifesterer seg i miljøer basert på X.Org og Wayland, og kan utnyttes både ved tilkobling av enheter lokalt og ved manipulering av enheter med et Bluetooth-grensesnitt. Hvis X-serveren kjører som root, gjør sårbarheten det mulig å kjøre kode med forhøyede rettigheter.

Problemet er forårsaket av en linjeformateringsfeil i koden som er ansvarlig for å sende ut enhetstilkoblingsinformasjon til loggen. Spesielt endret evdev_log_msg-funksjonen, ved å bruke et kall til snprintf, den opprinnelige formatstrengen til loggoppføringen, som enhetsnavnet ble lagt til som et prefiks. Deretter ble den modifiserte strengen sendt til log_msg_va-funksjonen, som igjen brukte printf-funksjonen. Dermed inneholdt det første argumentet til printf, som formatet ble brukt til å analysere tegn, uvaliderte eksterne data, og en angriper kunne starte stabelkorrupsjon ved å få enheten til å returnere et navn som inneholder strengformattegn (for eksempel "Evil %s") .

Kilde: opennet.ru

Legg til en kommentar