In FreeBSD una vulnerabilità nel stack USB (CVE-2020-7456) che consente di eseguire codice a livello kernel o nello spazio utente collegando un dispositivo USB dannoso al sistema. I descrittori dei dispositivi USB HID (Human Interface Device) possono memorizzare e recuperare lo stato attuale, permettendo di combinare 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 effettua l'accesso a una porzione di memoria non corretta. Il problema è stato risolto negli aggiornamenti di FreeBSD 11.3-RELEASE-p10 e 12.1-RELEASE-p6. Come soluzione alternativa, si raccomanda 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'altra questione recentemente esaminata dai ricercatori dell'Università di Purdue e della Scuola Politecnica Federale di Losanna. Questi ricercatori hanno sviluppato uno strumento USBFuzz, che simula un dispositivo USB malfunzionante per il test di fuzzing dei driver USB. USBFuzz sarà presto . Con il nuovo strumento sono state identificate 26 vulnerabilità, di cui 18 in Linux, 4 in Windows, 3 in macOS e 1 in FreeBSD. I dettagli su questi problemi non sono ancora stati resi pubblici, è stato solo menzionato che 10 vulnerabilità hanno ricevuto identificatori CVE, e 11 problemi rilevati in Linux sono già stati corretti. È stata utilizzata una tecnica simile al fuzzing nel testing. Andrei Konovalov di Google, che negli ultimi anni nello stack USB di Linux.
Fonte: opennet.ru
