USB programėlės Linux branduolio posistemio pažeidžiamumas, dėl kurio galima vykdyti kodą

„USB Gadget“, „Linux“ branduolio posistemis, teikiantis programavimo sąsają USB kliento įrenginiams ir programinei įrangai, imituojančiai USB įrenginius kurti, turi pažeidžiamumą (CVE-2021-39685), dėl kurio gali nutekėti informacija iš branduolio, įvykti gedimas arba savavališkas kodas branduolių lygyje. Ataką vykdo neprivilegijuotas vietinis vartotojas, manipuliuodamas įvairiomis įrenginių klasėmis, įdiegtomis remiantis USB programėlės API, tokiomis kaip rndis, hid, uac1, uac1_legacy ir uac2.

Problema buvo išspręsta neseniai paskelbtuose „Linux“ branduolio atnaujinimuose 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 ir 4.4.295. Distribucijose (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) problema lieka neišspręsta. Pažeidžiamumui parodyti buvo parengtas išnaudojimo prototipas.

Problemą sukelia buferio perpildymas duomenų perdavimo užklausų tvarkyklėse programėlės tvarkyklėse rndis, hid, uac1, uac1_legacy ir uac2. Išnaudojęs pažeidžiamumą, neprivilegijuotas užpuolikas gali gauti prieigą prie branduolio atminties išsiųsdamas specialią valdymo užklausą su wLength lauko reikšme, viršijančia statinio buferio dydį, kuriam visada skiriami 4096 baitai (USB_COMP_EP0_BUFSIZ). Atakos metu neprivilegijuotas procesas vartotojo erdvėje gali nuskaityti arba įrašyti iki 65 KB duomenų į branduolio atmintį.

Šaltinis: opennet.ru

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