CVE-2026-74446 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drm/amdkfd: mantener event_mutex durante la verificación puntual (checkpointing) de eventos CRIU
kfd_criu_checkpoint_events() cuenta las entradas en p->event_idr mediante kfd_get_num_events(), asigna un array del tamaño correspondiente a dicho recuento y luego recorre el mismo IDR para rellenarlo. Ni el conteo ni la recorrido mantienen bloqueado p->event_mutex.
El llamador de CRIU checkpoint solo mantiene p->mutex. La creación y destrucción de eventos (kfd_event_create()/kfd_event_destroy()) toman p->event_mutex y no toman p->mutex, por lo que un segundo hilo en el mismo proceso puede insertar o eliminar eventos entre la fase de conteo y la de recorrido. Si se inserta un evento, el recorrido itera más entradas de las contadas y escribe más allá del final de la asignación ev_privs; si se elimina un evento, el recorrido desreferencia una entrada que está siendo liberada.
Mantener p->event_mutex durante todo el conteo y el recorrido para que ambos observen una vista consistente de p->event_idr. El bloqueo se libera antes de copy_to_user(), que solo toca el búfer local. El llamador ya mantiene p->mutex y las rutas de creación/destrucción nunca toman p->mutex, por lo que no se invierte el orden p->mutex -> p->event_mutex ni se introduce ningún punto muerto (deadlock).
(cherry picked from commit ff57e223ab105795b05d3ef3f3c35a5a441bcbaa)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.