Vulnerabilidad en Linux (CVE-2025-71089)
Fecha de publicación:
13/01/2026
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
iommu: deshabilitar SVA cuando CONFIG_X86 está configurado<br />
<br />
Serie de parches &#39;Corrección de entradas IOTLB obsoletas para el espacio de direcciones del kernel&#39;, v7.<br />
<br />
Esto propone una corrección para una vulnerabilidad de seguridad relacionada con el Direccionamiento Virtual Compartido (SVA) de IOMMU. En un contexto SVA, un IOMMU puede almacenar en caché entradas de la tabla de páginas del kernel. Cuando una página de la tabla de páginas del kernel es liberada y reasignada para otro propósito, el IOMMU aún podría contener entradas obsoletas e incorrectas. Esto puede ser explotado para causar una condición de uso después de liberación o de escritura después de liberación, lo que podría llevar a una escalada de privilegios o a la corrupción de datos.<br />
<br />
Esta solución introduce un mecanismo de liberación diferida para las páginas de la tabla de páginas del kernel, que proporciona una ventana segura para notificar al IOMMU que invalide sus cachés antes de que la página sea reutilizada.<br />
<br />
Este parche (de 8):<br />
<br />
En el contexto de Direccionamiento Virtual Compartido (SVA) de IOMMU, el hardware IOMMU comparte y recorre las tablas de páginas de la CPU. La arquitectura x86 mapea el espacio de direcciones virtual del kernel en la porción superior de la tabla de páginas de cada proceso. En consecuencia, en un contexto SVA, el hardware IOMMU puede recorrer y almacenar en caché entradas de la tabla de páginas del kernel.<br />
<br />
El kernel de Linux actualmente carece de un mecanismo de notificación para los cambios en la tabla de páginas del kernel, específicamente cuando las páginas de la tabla de páginas son liberadas y reutilizadas. El controlador IOMMU solo es notificado de los cambios en las asignaciones de direcciones virtuales de usuario. Esto puede hacer que las cachés internas del IOMMU retengan entradas obsoletas para VA del kernel.<br />
<br />
Las condiciones de Uso Después de Liberación (UAF) y Escritura Después de Liberación (WAF) surgen cuando las páginas de la tabla de páginas del kernel son liberadas y posteriormente reasignadas. El IOMMU podría malinterpretar los nuevos datos como entradas válidas de la tabla de páginas. El IOMMU podría entonces recorrer memoria controlada por el atacante, lo que llevaría a un acceso DMA arbitrario a la memoria física o a una escalada de privilegios. Esto también es un problema de Escritura Después de Liberación, ya que el IOMMU potencialmente continuará escribiendo bits de Acceso y Sucio en la memoria liberada mientras intenta recorrer las tablas de páginas obsoletas.<br />
<br />
Actualmente, los contextos SVA no tienen privilegios y no pueden acceder a las asignaciones del kernel. Sin embargo, el IOMMU seguirá recorriendo tablas de páginas solo del kernel hasta las entradas hoja, donde se da cuenta de que la asignación es para el kernel y produce un error. Esto significa que el IOMMU aún almacena en caché estas entradas intermedias de la tabla de páginas, lo que convierte la vulnerabilidad descrita en una preocupación real.<br />
<br />
Deshabilitar SVA en la arquitectura x86 hasta que el IOMMU pueda recibir notificación para vaciar la caché de paginación antes de liberar las páginas de la tabla de páginas del kernel de la CPU.
Gravedad CVSS v3.1: ALTA
Última modificación:
02/04/2026