Análise da vulnerabilidade CVE-2026-46215: escalonamento de privilégio local via UAF no Linux DRM GEM

No artigo, o pesquisador demonstra como um bug de use-after-free no handler DRM_IOCTL_GEM_CHANGE_HANDLE no kernel Linux permite que um usuário comum ganhe privilégios de root (CVE-2026-46215). Quando um objeto GEM é transferido entre handles, o contador handle_count não é atualizado, e se DRM_IOCTL_GEM_CLOSE for invocado simultaneamente, o handle antigo libera o objeto, deixando o novo apontando para memória liberada.
O exploit aproveita uma condição de corrida para sobrescrever a porção liberada da estrutura drm_gem_object com elementos pipe_buffer (via um spray de pipe/msg_msg), vaza um ponteiro do kernel para contornar o KASLR e define PIPE_BUF_FLAG_CAN_MERGE para mais uma vez contornar a correção do DirtyPipe. Como resultado, um atacante com acesso a /dev/dri/renderD pode modificar /etc/passwd a partir de um processo de usuário e ganhar acesso root.
Vulnerabilidades
7.8
CVE-2026-46215
Fornecedor
Linux
Produto
Dirtypipe
Drm
Gem
Linux Kernel