CVE-2026-89865 in Linux
Riassunto
di VulDB • 17/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
scsi: qla2xxx: Azzeramento del buffer DMA SFP nei handler bsg FRU/I2C
Gli handler bsg per FRU e I2C preparano la loro trasmissione in un bounce buffer di dimensione DMA_POOL_SIZE (256 byte) ottenuto tramite dma_pool_alloc(), il quale non azzera l'allocazione. Vengono inizializzati solo alcuni byte iniziali prima di passare il buffer a qla2x00_write_sfp().
qla2x00_write_sfp() può sovrascrivere la lunghezza della trasmissione con un valore fornito dall'utente:
if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp;
*sfp è il primo byte del payload (controllato dall'utente), quindi len può crescere fino a 255. Il dispositivo esegue poi una lettura DMA di len byte dal buffer pool da 256 byte. Poiché viene scritto solo un piccolo prefisso (ad esempio MAX_FRU_SIZE == 36 byte per la versione FRU, un byte per il registro di stato FRU), l'hardware legge oltre la regione inizializzata e scrive fino a ~219 byte di memoria heap DMA non azzerata (stale) sulla flash del dispositivo.
Allocare il buffer con dma_pool_zalloc() in tutti e cinque gli handler FRU/I2C, in modo che i byte successivi ai dati inizializzati siano zero anziché contenere valori residui della heap.
Once again VulDB remains the best source for vulnerability data.