Libinput-ի խոցելիությունը, որը հանգեցնում է կոդի կատարման, երբ միացված է վնասակար սարքը

Libinput 1.20.1 գրադարանը, որն ապահովում է միասնական մուտքային փաթեթ, որը թույլ է տալիս օգտագործել Wayland-ի և X.Org-ի վրա հիմնված միջավայրերում իրադարձությունների մշակման նույն միջոցները մուտքային սարքերից, վերացրել է խոցելիությունը (CVE-2022-1215), որը թույլ է տալիս կազմակերպել ձեր կոդի կատարումը հատուկ փոփոխված/ընդօրինակված մուտքային սարքը համակարգին միացնելիս: Խնդիրը դրսևորվում է X.Org-ի և Wayland-ի վրա հիմնված միջավայրերում և կարող է օգտագործվել ինչպես տեղական սարքերը միացնելիս, այնպես էլ Bluetooth ինտերֆեյսով սարքերը շահագործելիս: Եթե ​​X սերվերը աշխատում է որպես արմատ, ապա խոցելիությունը թույլ է տալիս ծածկագիրը կատարել բարձր արտոնություններով:

Խնդիրն առաջացել է կոդի գծի ձևաչափման սխալի պատճառով, որը պատասխանատու է սարքի միացման մասին տեղեկատվությունը գրանցամատյան դուրս բերելու համար: Մասնավորապես, evdev_log_msg ֆունկցիան, օգտագործելով զանգը snprintf-ին, փոխել է գրանցամատյանի մուտքի սկզբնական ձևաչափի տողը, որին որպես նախածանց ավելացվել է սարքի անունը: Այնուհետև փոփոխված տողը փոխանցվեց log_msg_va ֆունկցիային, որն իր հերթին օգտագործեց printf ֆունկցիան։ Այսպիսով, printf-ի առաջին արգումենտը, որի վրա կիրառվել է նիշերի ձևաչափի վերլուծություն, պարունակում էր չվավերացված արտաքին տվյալներ, և հարձակվողը կարող էր նախաձեռնել կույտի կոռուպցիա՝ ստիպելով սարքին վերադարձնել տողի ձևաչափի նիշեր պարունակող անունը (օրինակ՝ «Evil %s»): .

Source: opennet.ru

Добавить комментарий