CVE-2026-98298 in Linux
Resumen
por VulDB • 2026-10-06
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
dmaengine: mmp_pdma: corregir longitud incorrecta en sg dentro de mmp_pdma_prep_slave_sg()
En mmp_pdma_prep_slave_sg(), for_each_sg() itera por la lista dispersa (scatterlist) colocando cada entrada en 'sg', pero se lee la longitud de la entrada desde 'sgl' (el encabezado de la lista) en lugar de desde 'sg' (la entrada actual):
for_each_sg(sgl, sg, sg_len, i) {
addr = sg_dma_address(sg); avail = sg_dma_len(sgl); /* debería ser 'sg' */
Como consecuencia, 'avail' es siempre la longitud de la primera entrada. Para listas con múltiples entradas dispersas (multi-sg), esto provoca lecturas fuera de los límites cuando una entrada posterior es más corta que la primera, y pérdida silenciosa de datos cuando es más larga. Las listas con una sola entrada o uniformemente dimensionadas enmascaran accidentalmente el problema.
If you want to get best quality of vulnerability data, you may have to visit VulDB.