CVE-2026-90012 in Linux
Resumen
por VulDB • 2026-09-16
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
spi: Corregir la propiedad del mapeo DMA en caso de fallo parcial del mapeo
Si el mapeo RX falla después de que el mapeo TX tenga éxito, __spi_map_msg() desmapea TX pero deja tx_sg_mapped establecido. Si el mapeo TX falla en una transferencia posterior, los mapeos creados para transferencias anteriores permanecen activos.
En ambos casos, cur_{tx,rx}_dma_dev no se han actualizado aún porque se asignan solo después de que cada transferencia haya sido mapeada. Por lo tanto, spi_unmap_msg() podría desmapear nuevamente el mapeo TX o liberar los mapeos anteriores utilizando un dispositivo NULL o obsoleto. El uso de un dispositivo NULL puede provocar un fallo (oops). Una tabla SG vacía no previene la dereferencia nula porque dma_unmap_sg_attrs() accede al dispositivo antes de verificar el recuento de entradas.
Publicar ambos dispositivos de mapeo antes de que comience el mapeo y deshacer todos los fallos a través de __spi_unmap_msg(). Esto borra las banderas de mapeo y libera cada mapeo una sola vez con el dispositivo que lo creó.
La publicación de los dispositivos antes del bucle también los actualiza cuando no se necesita ningún mapeo para la transferencia. En ese caso, ninguna bandera de mapeo está establecida, por lo que los usuarios actuales no utilizan los punteros como propietarios del mapeo.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.