Vulnerability · Published Apr 30, 2026 · Assigned by Linux

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

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 8% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)7.8High
Exploit odds (30 days)0.2%top 92.0% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack tooling1Public PoC

Official 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

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:8bpftool4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:10kernel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-devel-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-devel-matched5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-debug-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-debug-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-devel-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-devel-matched5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-64k-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-64k-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-abi-stablelists6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-abi-stablelists4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-abi-stablelists5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-core4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-cross-headers6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-cross-headers4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-cross-headers5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-debug4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-debug5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-debug-core4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-debug-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-debug-devel4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-debug-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-devel-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-debug-devel-matched5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-debug-modules4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-debug-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-debug-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-debug-modules-extra4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-debug-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-debug-uki-virt6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-debug-uki-virt5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-devel4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-devel-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-devel-matched5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-doc6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-doc4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-doc5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-headers6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-headers4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-headers5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-modules4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-modules-extra4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-modules-extra-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:10kernel-rt6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-debug-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-debug-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-64k-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-64k-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-core4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-debug4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-debug5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-debug-core4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-debug-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-debug-devel4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-debug-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-debug-modules4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-debug-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-debug-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-debug-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-debug-modules-extra4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-debug-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-devel4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-modules4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-rt-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-rt-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-rt-modules-extra4.18.0-553.134.1.rt7.475.el8_10ALSA-2026:26428
AlmaLinux:9kernel-rt-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-tools6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-tools4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-tools5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-tools-libs6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-tools-libs4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-tools-libs5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-tools-libs-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-tools-libs-devel4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-tools-libs-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-uki-virt6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-uki-virt5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-uki-virt-addons6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-uki-virt-addons5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-zfcpdump4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-zfcpdump5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-zfcpdump-core4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-zfcpdump-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-devel6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-zfcpdump-devel4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-zfcpdump-devel5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-devel-matched6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-zfcpdump-devel-matched5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-modules6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-zfcpdump-modules4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-zfcpdump-modules5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-modules-core6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9kernel-zfcpdump-modules-core5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10kernel-zfcpdump-modules-extra6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8kernel-zfcpdump-modules-extra4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9kernel-zfcpdump-modules-extra5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10libperf6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9libperf5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10perf6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8perf4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9perf5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10python3-perf6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:8python3-perf4.18.0-553.134.1.el8_10ALSA-2026:26427
AlmaLinux:9python3-perf5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10rtla6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9rtla5.14.0-687.17.1.el9_8ALSA-2026:27789
AlmaLinux:10rv6.12.0-211.26.1.el10_2ALSA-2026:27288
AlmaLinux:9rv5.14.0-687.17.1.el9_8ALSA-2026:27789
Alpine:v3.20xen0ALPINE-CVE-2026-31787
Alpine:v3.21xen0ALPINE-CVE-2026-31787
Alpine:v3.22xen0ALPINE-CVE-2026-31787
Alpine:v3.23xen0ALPINE-CVE-2026-31787
Alpine:v3.24xen0ALPINE-CVE-2026-31787
Debian:12linux6.1.170-1DEBIAN-CVE-2026-31787
Debian:13linux6.12.85-1DEBIAN-CVE-2026-31787
Debian:14linux7.0.3-1DEBIAN-CVE-2026-31787
Rocky Linux:10kernel0:6.12.0-211.26.1.el10_2RLSA-2026:27288
Rocky Linux:8kernel0:4.18.0-553.134.1.el8_10RLSA-2026:26427
Rocky Linux:9kernel0:5.14.0-687.17.1.el9_8RLSA-2026:27789
Ubuntu:22.04:LTSlinux5.15.0-186.196UBUNTU-CVE-2026-31787
Ubuntu:24.04:LTSlinux6.8.0-136.136UBUNTU-CVE-2026-31787
Ubuntu:25.10linuxno fix listedUBUNTU-CVE-2026-31787
Ubuntu:26.04:LTSlinux7.0.0-27.27UBUNTU-CVE-2026-31787
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-31787

Affected products (as reported)

VendorProductVersions
Linux Linux d71f513985c22f1050295d1a7e4327cf9fb060da – before dbf862ce9f009128ab86b234d91413a3e450beb4d71f513985c22f1050295d1a7e4327cf9fb060da – before 2b985d3a024b9e8c24e21671b34e855569763808d71f513985c22f1050295d1a7e4327cf9fb060da – before 1576ff3869cbd3620717195f971c85b7d7fd62b5d71f513985c22f1050295d1a7e4327cf9fb060da – before 402d84ad9e89bd4cbfd07ca8598532b7021daf95d71f513985c22f1050295d1a7e4327cf9fb060da – before 2894a351fe2ea8684919d36df3188b9a35e3926fd71f513985c22f1050295d1a7e4327cf9fb060da – before 446ee446d9ae66f36e95c3c90bbcc4e56b94cde0d71f513985c22f1050295d1a7e4327cf9fb060da – before 71bf829800758a6e3889096e4754ef47ba7fc850d71f513985c22f1050295d1a7e4327cf9fb060da – before 24daca4fc07f3ff8cd0e3f629cd982187f48436a
Linux Linux 3.8

References