USB Gadget-ում՝ միջուկի ենթահամակարգում LinuxUSB Gadget API-ում հայտնաբերվել է խոցելիություն (CVE-2021-39685), որը ծրագրային ինտերֆեյս է տրամադրում հաճախորդային USB սարքեր ստեղծելու և USB սարքերը մոդելավորելու համար: Այս խոցելիությունը կարող է հանգեցնել միջուկի տեղեկատվության արտահոսքի, վթարի կամ միջուկի մակարդակում կամայական կոդի կատարման: Հարձակումն իրականացվում է արտոնություններ չունեցող տեղական օգտատիրոջ կողմից՝ USB Gadget API-ի միջոցով իրականացված տարբեր սարքերի դասերի, ինչպիսիք են rndis, hid, uac1, uac1_legacy և uac2, մանիպուլյացիայի միջոցով:
Խնդիրը շտկվել է վերջերս հրապարակված միջուկի թարմացումներում։ Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 և 4.4.295: Բաշխումներում խնդիրը մնում է չլուծված (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch): Պատրաստվել է նախատիպային շահագործում՝ խոցելիությունը ցուցադրելու համար:
Խնդիրը առաջանում է rndis, hid, uac1, uac1_legacy և uac2 գաջեթների դրայվերներում տվյալների փոխանցման հարցումների մշակիչներում բուֆերի գերբեռնվածության պատճառով: Խոցելիության շահագործման արդյունքում, արտոնություն չունեցող հարձակվողը կարող է մուտք գործել միջուկային հիշողություն՝ ուղարկելով հատուկ կառավարման հարցում՝ wLength դաշտի արժեքով, որը գերազանցում է ստատիկ բուֆերի չափը, որի համար միշտ հատկացվում է 4096 բայթ (USB_COMP_EP0_BUFSIZ): Հարձակման ընթացքում հնարավոր է կարդալ կամ գրել մինչև 65 ԿԲ տվյալներ միջուկային հիշողության մեջ՝ օգտատիրոջ տարածքում գտնվող արտոնություն չունեցող գործընթացից:
Source: opennet.ru
