CVE-2026-89865 in Linux
Resumen
por VulDB • 2026-09-16
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
scsi: qla2xxx: Borrar a cero (zero) el búfer DMA SFP en los controladores bsg FRU/I2C
Los controladores bsg FRU e I2C preparan su transferencia en un búfer intermedio (bounce buffer) de tamaño DMA_POOL_SIZE (256 bytes) obtenido mediante dma_pool_alloc(), que no inicializa a cero la asignación. Solo se inicializan algunos de los primeros bytes antes de pasar el búfer a qla2x00_write_sfp().
qla2x00_write_sfp() puede sobrescribir la longitud de transferencia con un valor proporcionado por el usuario:
if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp;
*sfp es el primer byte del payload controlado por el usuario, por lo que len puede crecer hasta 255. El dispositivo luego realiza una lectura DMA de len bytes desde el búfer pool de 256 bytes. Dado que solo se escribió un pequeño prefijo (por ejemplo, MAX_FRU_SIZE == 36 bytes para una versión FRU, un byte para un registro de estado FRU), el hardware lee más allá de la región inicializada y escribe hasta ~219 bytes de memoria heap DMA obsoleta en el flash del dispositivo.
Asignar el búfer con dma_pool_zalloc() en los cinco controladores FRU/I2C para que cualquier byte posterior a los datos inicializados sea cero, en lugar de contener contenido residual (stale) del heap.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.