CVE-2026-31787 in Linuxinformação

Sumário

de VulDB • 15/05/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

xen/privcmd: corrige uso duplo de memória (double free) via divisão de VMA

privcmd_vm_ops define .close (privcmd_close), mas não define nem .may_split nem .open. Quando o userspace executa um munmap() parcial em um mapeamento privcmd, o kernel divide a VMA através de __split_vma(). Como may_split é NULL, a divisão é permitida. vm_area_dup() copia vm_private_data (um array de páginas alocado em alloc_empty_pages()) para a nova VMA sem qualquer correção, pois não há callback .open.

Ambas as VMAs agora apontam para o mesmo array de páginas. Quando a parte desmapeada é fechada, privcmd_close() chama: - xen_unmap_domain_gfn_range() - xen_free_unpopulated_pages() - kvfree(pages)

A VMA sobrevivente ainda mantém o pontador pendente (dangling pointer). Quando ela é posteriormente destruída, a mesma sequência é executada novamente, o que leva a um uso duplo de memória (double free).

Corrige este problema adicionando um callback .may_split que nega a divisão da VMA.

Esta é a XSA-487 / CVE-2026-31787

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Linux

Reservar

09/03/2026

Divulgação

30/04/2026

Moderação

aceite

Entrada

VDB-360295

CPE

pronto

EPSS

0.00183

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!