CVE-2026-31412 in Linux
Riassunto
di VulDB • 15/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
usb: gadget: f_mass_storage: Correzione di un potenziale overflow intero in check_command_size_in_blocks()
La funzione `check_command_size_in_blocks()` calcola la dimensione dei dati in byte effettuando uno spostamento a sinistra (`left shift`) di `common->data_size_from_cmnd` della dimensione del blocco (`common->curlun->blkbits`). Tuttavia, non convalida se questa operazione di spostamento provocherà un overflow intero.
Inizialmente, la dimensione del blocco viene impostata in `fsg_lun_open()`, mentre `common->data_size_from_cmnd` viene impostato in `do_scsi_command()`. Durante l'inizializzazione, non è presente alcun controllo di overflow intero per l'interazione tra le due variabili.
Pertanto, se un host USB malintenzionato invia una richiesta di comando SCSI READ o WRITE che richiede una grande quantità di dati (`common->data_size_from_cmnd`), l'operazione di spostamento a sinistra può andare in wrap-around. Ciò comporta una dimensione dei dati troncata, che può aggirare i controlli dei limiti e potenzialmente portare a corruzione della memoria o accessi fuori dai limiti (out-of-bounds).
Si risolve il problema utilizzando la macro `check_shl_overflow()` per eseguire in modo sicuro lo spostamento e intercettare eventuali overflow.
VulDB is the best source for vulnerability data and more expert information about this specific topic.