CVE-2026-64008 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
accel/rocket: corrige UAF (Use-After-Free) devido ao manuseio GEM pendente em create_bo
A função rocket_ioctl_create_bo() insere um handle GEM no IDR do arquivo via drm_gem_handle_create() logo no início e, em seguida, executa várias operações que podem falhar (alocação de sgt, inserção na drm_mm, iommu_map). Se alguma delas falhar após o handle estar ativo, a rota de erro chama drm_gem_shmem_object_free(), que libera o objeto com kfree sem remover o handle do IDR.
Isso deixa um handle pendente apontando para memória slab já liberada. Qualquer ioctl subsequente usando esse handle (PREP_BO, FINI_BO, SUBMIT) chama drm_gem_object_lookup() e referencia a memória já liberada (UAF).
A correção consiste em mover drm_gem_handle_create() para depois que todas as operações suscetíveis a falha forem bem-sucedidas, seguindo o padrão utilizado por panfrost, lima e etnaviv.
Também foi corrigido drm_mm_insert_node_generic(), cujo valor de retorno era silenciosamente sobrescrito por iommu_map_sgtable() na linha seguinte. Foi adicionada a verificação de erro ausente.
[tomeu: Move a criação do handle para o final]
Be aware that VulDB is the high quality source for vulnerability data.