di Google rapporto sul rilevamento di ulteriori 15 vulnerabilità (CVE-2019-19523 — CVE-2019-19537) nei driver USB offerti nel kernel Linux. Questo è il terzo lotto di problemi trovati durante i test di fuzzing dello stack USB nel pacchetto — in precedenza, questo ricercatore la presenza di 29 vulnerabilità.
Questa volta, l'elenco include solo le vulnerabilità causate dall'accesso a regioni di memoria già liberate (use-after-free) o che portano a perdite di dati dalla memoria del kernel. I problemi che potrebbero essere utilizzati per causare un'interruzione del servizio non sono stati inclusi nel rapporto. Le vulnerabilità potrebbero essere potenzialmente sfruttate collegando dispositivi USB appositamente preparati a un computer. Le correzioni per tutti i problemi menzionati nel rapporto sono già incluse nel kernel, ma alcune non incluse nel rapporto rimangono ancora non risolte.
Le vulnerabilità più pericolose del tipo «use-after-free», che possono portare all'esecuzione di codice da parte dell'attaccante, sono state eliminate nei driver adutux, ff-memless, ieee802154, pn533, hiddev, iowarrior, mcba_usb e yurex. Sotto CVE-2019-19532 sono state inoltre mitigati 14 difetti nei driver HID, causati da errori che consentono la scrittura al di fuori del limite del buffer (out-of-bounds write). Nei driver ttusb_dec, pcan_usb_fd e pcan_usb_pro sono state individuate problematiche che portano a perdite di dati dalla memoria del kernel. Nel codice dello stack USB per la gestione dei dispositivi a carattere è stata identificata una problematica (CVE-2019-19537) causata da una condizione di gara (race condition).
Si può anche notare
quattro vulnerabilità (CVE-2019-14895, CVE-2019-14896, CVE-2019-14897, CVE-2019-14901) nel driver per chip wireless Marvell, che possono portare a un overflow del buffer. L'attacco può essere eseguito da remoto inviando pacchetti formattati in modo specifico quando ci si connette a un punto di accesso wireless controllato dall'attaccante. La minaccia più probabile è rappresentata da un denial of service remoto (crash del kernel), ma non si esclude la possibilità di esecuzione di codice nel sistema.
Fonte: opennet.ru
