In FreeBSD una vulnerabilità nel stack USB (CVE-2020-7456) che consente di eseguire codice a livello di kernel o nello spazio utente collegando un dispositivo USB dannoso al sistema. I descrittori di dispositivi USB HID (Human Interface Device) possono inserire ed estrarre lo stato corrente, consentendo di unire le descrizioni degli elementi in gruppi multilivello. FreeBSD supporta fino a 4 di questi livelli di estrazione. Se il livello non è stato ripristinato durante l'elaborazione dello stesso elemento HID, si verifica un accesso a un'area di memoria non valida. Il problema è stato risolto negli aggiornamenti FreeBSD 11.3-RELEASE-p10 e 12.1-RELEASE-p6. Come soluzione alternativa di protezione, si consiglia di impostare il parametro "sysctl hw.usb.disable_enumeration=1".
La vulnerabilità è stata individuata da Andy Nguyen di Google e non si sovrappone a un altro problema, recentemente ricercatori dell'Università di Purdue e dell'École polytechnique fédérale de Lausanne. Questi ricercatori hanno sviluppato lo strumento USBFuzz, che simula un dispositivo USB malfunzionante per il fuzzing dei driver USB. USBFuzz è in programma di . Con il nuovo strumento sono state identificate 26 vulnerabilità, di cui 18 in Linux, 4 in Windows, 3 in macOS e una in FreeBSD. I dettagli su questi problemi non sono ancora stati rivelati, è stato solo menzionato che per 10 vulnerabilità sono stati ottenuti identificatori CVE, e 11 problemi manifestatisi in Linux sono già stati risolti. Una tecnica simile di fuzzing è stata Andrey Konovalov di Google, che negli ultimi anni nel stack USB di Linux.
Fonte: opennet.ru
