Vulnerabilidad en Linux (CVE-2025-71221)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
14/02/2026
Última modificación:
18/02/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
dmaengine: mmp_pdma: Corrección de condición de carrera en mmp_pdma_residue()<br />
<br />
Añadir bloqueo adecuado en mmp_pdma_residue() para prevenir uso después de liberación al acceder a la lista de descriptores y al contenido del descriptor.<br />
<br />
La condición de carrera ocurre cuando múltiples hilos llaman a tx_status() mientras el tasklet en otra CPU está liberando descriptores completados:<br />
<br />
CPU 0 CPU 1<br />
----- -----<br />
mmp_pdma_tx_status()<br />
mmp_pdma_residue()<br />
-&gt; SIN BLOQUEO mantenido<br />
list_for_each_entry(sw, ..)<br />
Interrupción DMA<br />
dma_do_tasklet()<br />
-&gt; spin_lock(&amp;desc_lock)<br />
list_move(sw-&gt;node, ...)<br />
spin_unlock(&amp;desc_lock)<br />
| dma_pool_free(sw) &lt;- ¡LIBERADO!<br />
-&gt; acceso a sw-&gt;desc &lt;- ¡UAF!<br />
<br />
Este problema puede ser reproducido al ejecutar dmatest en el mismo canal con múltiples hilos (hilos_por_canal &gt; 1).<br />
<br />
Solución protegiendo la iteración de la lista chain_running y el acceso al descriptor con el spinlock chan-&gt;desc_lock.



