Back to CVE records
High 7.8Published Apr 30, 2026

CVE-2026-31787xen/privcmd: fix double free via VMA splitting

Updated under an hour ago ()

Does this affect you?

It affects Linux and 1 other product. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

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

CVSS
7.8 HIGH (v3.1, NVD)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness (CWE)
Not given
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
Linux
NVD analysis
Analyzed
Record last updated
Jun 14, 2026
First seen by InfoSec Signals
Oct 9, 2026

Affected products

Affected products
Linux Linux
linux:linux (from the name)
from d71f513985c22f1050295d1a7e4327cf9fb060da before dbf862ce9f009128ab86b234d91413a3e450beb4; from d71f513985c22f1050295d1a7e4327cf9fb060da before 2b985d3a024b9e8c24e21671b34e855569763808; from d71f513985c22f1050295d1a7e4327cf9fb060da before 1576ff3869cbd3620717195f971c85b7d7fd62b5; from d71f513985c22f1050295d1a7e4327cf9fb060da before 402d84ad9e89bd4cbfd07ca8598532b7021daf95; from d71f513985c22f1050295d1a7e4327cf9fb060da before 2894a351fe2ea8684919d36df3188b9a35e3926f; from d71f513985c22f1050295d1a7e4327cf9fb060da before 446ee446d9ae66f36e95c3c90bbcc4e56b94cde0; from d71f513985c22f1050295d1a7e4327cf9fb060da before 71bf829800758a6e3889096e4754ef47ba7fc850; from d71f513985c22f1050295d1a7e4327cf9fb060da before 24daca4fc07f3ff8cd0e3f629cd982187f48436a
CNA record
linux linux_kernel
linux:linux_kernel
from 3.8 before 5.10.254; from 5.11 before 5.15.204; from 5.16 before 6.1.170; from 6.2 before 6.6.137; from 6.7 before 6.12.85; from 6.13 before 6.18.26; from 6.19 before 7.0.3; 7.1; and 1 more ranges
NVD

References

References

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.