CVE-2026-31787
xen/privcmd: corrigir dupla liberação via divisão de VMA
- Publicado
- 30 de abr. de 2026
- Atualizado
- 14 de jun. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 4 de set. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 8,2%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No Linux kernel, a seguinte vulnerabilidade foi resolvida: xen/privcmd: corrige double free via divisão de VMA privcmd_vm_ops define .close (privcmd_close), mas nem .may_split nem .open. Quando o userspace faz um munmap() parcial em um mapeamento privcmd, o kernel divide o VMA via __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 o novo VMA sem qualquer correção, porque não há callback .open. Ambos os VMAs agora apontam para o mesmo array de páginas. Quando a porção não mapeada é fechada, privcmd_close() chama: - xen_unmap_domain_gfn_range() - xen_free_unpopulated_pages() - kvfree(pages) O VMA sobrevivente ainda mantém o ponteiro pendente. Quando ele é posteriormente destruído, a mesma sequência é executada novamente, o que leva a um double free. Corrija este problema adicionando um callback .may_split que nega a divisão do VMA. Isto é XSA-487 / CVE-2026-31787
Fontes
1- CVE-2026-31787Informativo
Linux kernel double free no driver Xen privcmd
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.