В FreeBSD уязвимост в USB стека (CVE-2020-7456), която позволява извършването на код на ниво ядро или в пространството на потребителя при свързване на злонамерено USB устройство към системата. Дескрипторите на USB HID (Human Interface Device) могат да вмъкват и извлекат текущото състояние, позволявайки комбинирането на описания на елементи в многостепенни групи. FreeBSD поддържа до 4 подобни нива на извличане. Ако нивото не е възстановено по време на обработката на същия HID елемент, се извършва опит за достъп до невалидна памет. Проблемът е отстранен в актуализациите FreeBSD 11.3-RELEASE-p10 и 12.1-RELEASE-p6. Като обходен начин за защита, се препоръчва да се зададе параметърът "sysctl hw.usb.disable_enumeration=1".
Уязвимостта е открита от Andy Nguyen от компания Google и не пресича с друга проблем, наскоро изследвана от учени от Университета Пърдю и Федералната политехническа школа в Лозана. Тези изследователи разработиха инструмента USBFuzz, който симулира неправилно работещо USB устройство за fuzzing тестване на USB драйвери. USBFuzz е планиран . С помощта на новия инструмент бяха открити 26 уязвимости, от които 18 в Linux, 4 в Windows, 3 в macOS и една във FreeBSD. Детайли относно тези проблеми все още не са разкрити, споменато е само, че за 10 уязвимости са получени CVE идентификатори, а 11 проблеми, проявяващи се в Linux, вече са коригирани. Подобна техника за fuzzing тестване Андрей Коновалов от Google, който през последните няколко години в USB стека на Linux.
Източник: opennet.ru
