Luka w zabezpieczeniach FreeBSD wykorzystywana poprzez złośliwe urządzenie USB

Na FreeBSD wyłączony luka w stosie USB (CVE-2020-7456), która umożliwia wykonanie kodu na poziomie jądra lub w przestrzeni użytkownika, gdy do systemu zostanie podłączone złośliwe urządzenie USB. Deskryptory urządzeń USB HID (Human Interface Device) umożliwiają umieszczanie i pobieranie bieżącego stanu, umożliwiając grupowanie opisów elementów w wielopoziomowe grupy. FreeBSD obsługuje do 4 takich poziomów ekstrakcji. Jeśli poziom nie zostanie przywrócony podczas przetwarzania tego samego elementu HID, uzyskany zostanie dostęp do nieprawidłowej lokalizacji w pamięci. Problem został rozwiązany w aktualizacjach FreeBSD 11.3-RELEASE-p10 i 12.1-RELEASE-p6. Ze względów bezpieczeństwa zaleca się ustawienie parametru „sysctl hw.usb.disable_enumeration=1”.

Luka została zidentyfikowana przez Andy'ego Nguyena z Google i nie pokrywa się z innym problemem, który miał miejsce niedawno ogłoszony badacze z Uniwersytetu Purdue i École Polytechnique Fédérale de Lausanne. Badacze ci opracowali zestaw narzędzi USBFuzz, który symuluje nieprawidłowo działające urządzenie USB do testowania rozmytego sterowników USB. Wkrótce planowane jest USBFuzz publikuj na GitHub. Za pomocą nowego narzędzia zidentyfikowano 26 luk, w tym 18 w systemie Linux, 4 w Windows, 3 w macOS i jedną we FreeBSD. Szczegóły tych problemów nie zostały jeszcze ujawnione, wspomina się jedynie, że dla 10 luk uzyskano identyfikatory CVE, a 11 problemów występujących w Linuksie zostało już naprawionych. Podobna technika testowania fuzzingu dotyczy Andrey Konovalov z Google, który w ciągu ostatnich kilku lat zidentyfikowany 44 luki w zabezpieczeniach w stosie USB systemu Linux.

Źródło: opennet.ru

Dodaj komentarz