Menu

Star on GitHub · 3.2k

CVE-2026-31787

7.8 · HIGH

In the Linux kernel, the following vulnerability has been resolved: xen/privcmd: fix double free via VMA splitting privcmd_vm_ops defines .close (privcmd_close), but neither .may_split nor .open.

Published Apr 30, 2026CWE-415EPSS 0.19%

Overview

CVE-2026-31787 is a high-severity vulnerability. It was published on April 30, 2026 and has a CVSS 3.1 base score of 7.8 (HIGH).

This vulnerability has a CVSS 3.1 base score of 7.8, rated HIGH. It requires local or adjacent network access to exploit. Some level of privileges is required for exploitation.

Technical description

In the Linux kernel, the following vulnerability has been resolved:

xen/privcmd: fix double free via VMA splitting

privcmd_vm_ops defines .close (privcmd_close), but neither .may_split

nor .open. When userspace does a partial munmap() on a privcmd mapping,

the kernel splits the VMA via __split_vma(). Since may_split is NULL,

the split is allowed. vm_area_dup() copies vm_private_data (a pages

array allocated in alloc_empty_pages()) into the new VMA without any

fixup, because there is no .open callback.

Both VMAs now point to the same pages array. When the unmapped portion

is closed, privcmd_close() calls:

- xen_unmap_domain_gfn_range()

- xen_free_unpopulated_pages()

- kvfree(pages)

The surviving VMA still holds the dangling pointer. When it is later

destroyed, the same sequence runs again, which leads to a double free.

Fix this issue by adding a .may_split callback denying the VMA split.

This is XSA-487 / CVE-2026-31787

Remediation

Check the references section for vendor advisories, patches, and mitigation guidance. If immediate patching is not possible, review the CVSS vector to understand the attack surface and apply compensating controls such as network segmentation or access restrictions.

Frequently asked questions

What is CVE-2026-31787?

CVE-2026-31787 is a high-severity vulnerability. It was published on April 30, 2026 and has a CVSS 3.1 base score of 7.8 (HIGH).

How severe is CVE-2026-31787?

This vulnerability has a CVSS 3.1 base score of 7.8, rated HIGH. It requires local or adjacent network access to exploit. Some level of privileges is required for exploitation.

How do I fix or remediate CVE-2026-31787?

Check the references section for vendor advisories, patches, and mitigation guidance. If immediate patching is not possible, review the CVSS vector to understand the attack surface and apply compensating controls such as network segmentation or access restrictions.

How can CyberStrike help with CVE-2026-31787?

CyberStrike is an open-source, AI-augmented pentesting engine. Rather than flag a version number, it tests whether an issue like CVE-2026-31787 is actually reachable in your own applications and APIs, then verifies each finding before reporting it. That tells you if the weakness is a real, exploitable risk in your environment or a false positive you can safely deprioritize.

Related HIGH CVEs from 2026

View all