CVE-2026-74447 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drm/amdkfd: corregir desbordamiento uint32_t en la alineación del tamaño del búfer anillo EOP
`eop_ring_buffer_size` dentro de `struct queue_properties` es un tipo u32. En `kfd_queue_acquire_buffers()`, el tamaño esperado del búfer EOP se calcula como ALIGN(eop_ring_buffer_size, PAGE_SIZE); dado que ALIGN utiliza typeof(x), la adición se realiza en 32 bits. Un tamaño proporcionado por el usuario de 0xFFFFF001 provoca un desbordamiento (wrap-around) a 0, lo que hace que `kfd_queue_buffer_get()` omita su comprobación exacta del tamaño (condicionada por size != 0) y acepte cualquier BO mapeado en la dirección. En GFX8/GFX9, el registro MQD cp_hqd_eop_control se programa entonces para un anillo EOP de 8 KB respaldado por un BO de 4 KB; como resultado, las escrituras del CP EOP pueden salirse del búfer y provocar una falta (fault) en la GPU.
Se convierte el operando a u64 para que la alineación se calcule en 64 bits; así, la comprobación del tamaño en `kfd_queue_buffer_get()` rechaza correctamente las solicitudes con un tamaño excesivo.
(cherry picked from commit ae443117b742c357bfef3a7bddabf76fcf86e9ef)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.