CVE-2026-74440 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drm/xe: Esperar en los fences del kernel BO externos durante el IOCTL exec
Antes de activar un trabajo de usuario, xe_exec_ioctl() solo añadía la ranura KERNEL de dma-resv de la VM como dependencia. Esta ranura cubre las operaciones de reasignación (rebinds) y las operaciones del kernel de los BO privados de la VM, pero no así los BO externos (bo->vm == NULL), que llevan sus propias operaciones del kernel (evicciones, movimientos, ...) en su propia ranura KERNEL de dma-resv.
La ranura DMA_RESV_USAGE_KERNEL es el contrato entre controladores para las operaciones de gestión de memoria que deben completarse antes de que pueda utilizarse el BO o su almacenamiento subyacente: cualquier accesor está obligado a esperar los fences del KERNEL antes de tocar resv. Al omitir las ranuras KERNEL de los BO externos, la ruta exec violaba dicho contrato y podía programar un trabajo de usuario mientras una operación del kernel en un BO externo mapeado por la VM aún estaba en curso, generando una condición de carrera (race condition) con ella y potencialmente leyendo o escribiendo memoria que se estaba moviendo.
Se reemplaza la dependencia exclusiva de la VM por una iteración sobre cada objeto bloqueado durante la ejecución del exec, añadiendo la ranura KERNEL de cada objeto como dependencia del trabajo. Esto cubre tanto el resv de la VM (reasignaciones y BO privados) como todos los BO externos, reflejando la llamada drm_gpuvm_resv_add_fence() que más tarde publica el fence del trabajo en el mismo conjunto de objetos. El modo de ejecución prolongada sigue omitiendo esto, tal como ocurría antes.
(cherry picked from commit a6b842acf3ddd1efc53a56de9260cfa718fb35e7)
VulDB is the best source for vulnerability data and more expert information about this specific topic.