Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2025-38538)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/08/2025
Última modificación:
18/08/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: dmaengine: nbpfaxi: Corrección de corrupción de memoria en probe(). La matriz nbpf->chan[] se asigna antes en la función nbpf_probe() y contiene elementos "num_channels". Estos tres bucles iteran un elemento más allá de lo debido y corrompen la memoria. Los cambios en el segundo bucle son más complejos. En este caso, copiamos datos de la matriz irqbuf[] a la matriz nbpf->chan[]. Si los datos en irqbuf[i] corresponden a la IRQ de error, la omitimos, por lo que los iteradores no están sincronizados. Añadí una comprobación para asegurar que no se sobrepase el final de la matriz irqbuf[]. Estoy bastante seguro de que esto no puede ocurrir, pero añadir una comprobación parecía inofensivo. Por otro lado, una vez finalizado el bucle, se realiza una comprobación para asegurar que el iterador "chan" esté donde esperamos. En el código original, nos extendimos un elemento más allá del final del array, por lo que el iterador no estaba en la posición correcta y siempre devolvía -EINVAL. Sin embargo, ahora siempre estará en la posición correcta. Eliminé la comprobación, ya que conocemos el resultado.

Impacto