CVE-2026-31787
xen/privcmd: corregir doble liberación mediante división de VMA
- Publicado
- 30 abr 2026
- Actualizado
- 14 jun 2026
- Asignación de CNA
- Linux
- Evidencia observada
- 4 sept 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 8,2 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: xen/privcmd: corrige la doble liberación mediante la división de VMA privcmd_vm_ops define .close (privcmd_close), pero ni .may_split ni .open. Cuando el espacio de usuario realiza un munmap() parcial en un mapeo de privcmd, el kernel divide la VMA mediante __split_vma(). Dado que may_split es NULL, la división está permitida. vm_area_dup() copia vm_private_data (un arreglo de páginas asignado en alloc_empty_pages()) en la nueva VMA sin ninguna corrección, porque no hay una devolución de llamada .open. Ambas VMA ahora apuntan al mismo arreglo de páginas. Cuando la porción desmapeada se cierra, privcmd_close() llama a: - xen_unmap_domain_gfn_range() - xen_free_unpopulated_pages() - kvfree(pages) La VMA superviviente aún mantiene el puntero colgante. Cuando posteriormente se destruye, la misma secuencia se ejecuta nuevamente, lo que conduce a una doble liberación. Corrija este problema agregando una devolución de llamada .may_split que deniegue la división de la VMA. Esto es XSA-487 / CVE-2026-31787
Fuentes
1- CVE-2026-31787Informativo
Linux kernel double free en el driver privcmd de Xen
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.