15 уразлівасцяў у USB-драйверах, якія пастаўляюцца ў ядры Linux

Андрэй Канавалаў з кампаніі Google апублікаваў справаздачу аб выяўленні чарговых 15 уразлівасцяў (CVE-2019-19523 - CVE-2019-19537) у USB-драйверах, прапанаваных у ядры Linux. Гэта трэцяя порцыя праблем, знойдзеных пры правядзенні fuzzing-тэставанні USB-стэка ў пакеце syzkaller - раней дадзены даследчык ўжо паведамляў аб наяўнасці 29 уразлівасцяў.

На гэты раз у спісе ўключаны толькі ўразлівасці, выкліканыя зваротам да ўжо вызваленых абласцей памяці (use-after-free) або якія прыводзяць да ўцечкі дадзеных з памяці ядра. Праблемы, якія могуць выкарыстоўвацца для адмовы ў абслугоўванні ў справаздачу не ўключаны. Уразлівасці патэнцыйна могуць быць эксплуатуюцца пры падлучэнні да кампутара спецыяльна падрыхтаваных USB-прылад. Выпраўленні для ўсіх згаданых у справаздачы праблем ужо ўключаны ў склад ядра, але некаторыя не якія ўвайшлі ў справаздачу памылкі пакуль застаюцца нявыпраўленымі.

Найбольш небяспечныя ўразлівасці класа "use-after-free", якія могуць прывесці да выканання кода атакавалага, ухіленыя ў драйверах adutux, ff-memless, ieee802154, pn533, hiddev, iowarrior, mcba_usb і yurex. Пад CVE-2019-19532 дадаткова зведзены 14 уразлівасцяў у HID-драйверах, выкліканыя памылкамі, якія дапускаюць запіс за межы мяжы буфера (out-of-bounds write). У драйверах ttusb_dec, pcan_usb_fd і pcan_usb_pro знойдзены праблемы, якія прыводзяць да ўцечкі дадзеных з памяці ядра. У кодзе USB-стэка для працы з сімвальнымі прыладамі выяўлена праблема (CVE-2019-19537), выкліканая станам гонкі (race condition).

Таксама можна адзначыць
выяўленне чатырох уразлівасцяў (CVE-2019-14895, CVE-2019-14896, CVE-2019-14897, CVE-2019-14901) у драйверы для бесправадных чыпаў Marvell, якія могуць прывесці да перапаўнення буфера. Атака можа быць здзейснена выдалена праз адпраўку вызначанай выявай аформленых кадраў пры злучэнні з бесправадной кропкай доступу зламысніка. У якасці найболей верагоднай пагрозы адзначаецца выдаленая адмова ў абслугоўванні (крах ядра), але не выключаецца і магчымасць выканання кода ў сістэме.

Крыніца: opennet.ru

Дадаць каментар