CVE-2026-64099 in Linux
Sumário
de VulDB • 19/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
drm/v3d: Corrige o uso após liberação (use-after-free) dos arrays de consulta de jobs da CPU na rota de erro
O rótulo de falha do ioctl de job da CPU chama kvfree() nos arrays de timestamp e de consulta de desempenho de cpu_job após v3d_job_cleanup(), que reduz a última referência do job e libera cpu_job. Ler cpu_job nesse ponto constitui um uso após liberação (use-after-free). Além disso, na rota de falha inicial de v3d_job_init(), ocorre uma desreferência NULL, pois v3d_job_deallocate() zera o ponteiro local.
Na rota de sucesso, os arrays são liberados pelo callback .free_job do agendador; porém, na rota de erro, eles são liberados manualmente, já que o job nunca foi enviado ao agendador. Embora a rota de sucesso lide com isso corretamente, a rota de falha não o faz.
Além disso, as chamadas manuais para kvfree() apenas liberam o armazenamento do array; elas não executam drm_syncobj_put() nos syncobjs por consulta que v3d_timestamp_query_info_free() e v3d_performance_query_info_free() liberam na rota de sucesso. Portanto, a mesma rota de falha que aciona o uso após liberação (use-after-free) também causa um vazamento de uma referência syncobj por consulta.
Unifica-se a desmontagem do job da CPU no destrutor kref do job da CPU, espelhando v3d_render_job_free(). O slot .free_job do agendador reverte para o genérico v3d_sched_job_free(), e o rótulo de falha remove as chamadas manuais kvfree(), deixando um único caminho de desmontagem que é alcançado tanto pelo agendador quanto pela rota de erro do ioctl. Isso elimina, por construção, o uso após liberação (use-after-free), a desreferência NULL e o vazamento de syncobj.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.