Skip to content
OpenAdvisories
Unscored Public exploit CVE-2026-31787 EUVD-2026-26365GHSA-3c28-g28m-gm93

xen/privcmd: fix double free via VMA splitting

Published Apr 30, 2026 · Updated Nov 6, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.17 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-7.0 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oem-7.0 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

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 products

VendorProductAffectedFixed
Linux Linux 3.8 5.10.254

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 7.0.3-1 —
Debian 13 linux 6.12.85-1 —
Debian 12 linux 6.1.170-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1028.33 —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1096.98 —
Ubuntu 26.04 LTS linux 7.0.0-27.27 —
Ubuntu 26.04 LTS linux-aws +1 7.0.0-1008.8 —
Ubuntu 26.04 LTS linux-azure 7.0.0-1010.10 —
Ubuntu 26.04 LTS linux-gcp +1 7.0.0-1007.7 —
Ubuntu 26.04 LTS linux-ibm +1 7.0.0-1009.9 —
Ubuntu 26.04 LTS linux-nvidia 7.0.0-1013.13 —
Ubuntu 26.04 LTS linux-raspi 7.0.0-1014.14 —
Ubuntu 26.04 LTS linux-riscv +1 7.0.0-27.27.1 —
Ubuntu 25.10 linux +8 No fix yet —
Ubuntu 24.04 LTS linux 6.8.0-136.136 —
Ubuntu 24.04 LTS linux-aws 6.8.0-1061.64 —
Ubuntu 24.04 LTS linux-azure 6.8.0-1063.71 —
Ubuntu 24.04 LTS linux-azure-fde 6.8.0-1062.69 —
Ubuntu 24.04 LTS linux-gcp 6.8.0-1064.72 —
Ubuntu 24.04 LTS linux-gke 6.8.0-1059.67 —
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1046.50 —
Ubuntu 24.04 LTS linux-hwe-7.0 7.0.0-28.28~24.04.1 —
Ubuntu 24.04 LTS linux-ibm 6.8.0-1061.62 —
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-136.136.2 —
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1059.62 —
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1059.62.1 —
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1030.31 —
Ubuntu 24.04 LTS linux-oracle 6.8.0-1058.61 —
Ubuntu 24.04 LTS linux-raspi 6.8.0-1061.65 —
Ubuntu 24.04 LTS linux-riscv +28 No fix yet —
Ubuntu 24.04 LTS linux-vmware 6.8.0-1008.8 —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1033.34 —
Show 19 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS linux 5.15.0-186.196 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1112.119 —
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1061.64~22.04.1 —
Ubuntu 22.04 LTS linux-azure +1 5.15.0-1117.126 —
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1063.71~22.04.1 —
Ubuntu 22.04 LTS linux-azure-fde-6.8 6.8.0-1062.69~22.04.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1112.122 —
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1064.72~22.04.1 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1108.114 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1095.103 —
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-136.136~22.04.1 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1106.110 —
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1061.62~22.04.1 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1107.113 —
Ubuntu 22.04 LTS linux-kvm 5.15.0-1104.109 —
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-184.194 —
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-136.136.2~22.04.1 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1107.108 —
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1059.62~22.04.1 —
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1064.66 —
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1053.53 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1109.115 —
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1058.61~22.04.1 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1106.109 —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 6.8.0-136.136~22.04.3 —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1075.79 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2050.52 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1056.57 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 +1 No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1104.106 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1111.120 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1056.57~22.04.2 —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-aws-fips 6.8.0-1061.64+fips1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-azure-fips 6.8.0-1063.71+fips2 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-136.136+fips2 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-gcp-fips 6.8.0-1064.72+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1112.119+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1117.126+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-186.196+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1112.122+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1112.119~20.04.1 —
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1117.126~20.04.1 —
Ubuntu Pro 20.04 LTS linux-azure-fde-5.15 5.15.0-1117.126~20.04.2 —
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1112.122~20.04.1 —
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-186.196~20.04.1 —
Ubuntu Pro 20.04 LTS linux-ibm-5.15 +1 5.15.0-1106.110~20.04.1 —
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1107.113~20.04.1 —
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-184.194~20.04.1 —
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1064.66~20.04.1 —
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1109.115~20.04.1 —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux +3 No fix yet —
ReleasePackageFixed inAdvisory
RHEL 10 rv +76 6.12.0-211.26.1.el10_2 RHSA-2026:27288
RHEL 9 rv +75 5.14.0-687.17.1.el9_8 RHSA-2026:27789
RHEL 8 kernel-rt +12 4.18.0-553.134.1.rt7.475.el8_10 RHSA-2026:26428
RHEL 8 perf +26 4.18.0-553.134.1.el8_10 RHSA-2026:26427
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 10.0 EUS rv +77 6.12.0-55.95.1.el10_0 RHSA-2026:52764
RHEL 9.4 E4S bpftool 7.3.0-427.141.1.el9_4 RHSA-2026:48386
RHEL 9.4 E4S rv +62 5.14.0-427.141.1.el9_4 RHSA-2026:48386
RHEL 9.2 E4S bpftool 7.0.0-284.186.1.el9_2 RHSA-2026:51603
RHEL 9.2 E4S kernel-rt +14 5.14.0-284.186.1.rt14.471.el9_2 RHSA-2026:51604
RHEL 9.2 E4S perf +47 5.14.0-284.186.1.el9_2 RHSA-2026:51603
RHEL 8.8 TUS perf +17 4.18.0-477.158.1.el8_8 RHSA-2026:52649
RHEL 8.8 E4S perf +18 4.18.0-477.158.1.el8_8 RHSA-2026:52649
RHEL 8.6 EUS Long Life perf +17 4.18.0-372.206.1.el8_6 RHSA-2026:53989
RHEL 8.6 AUS perf +17 4.18.0-372.206.1.el8_6 RHSA-2026:53989
RHEL 8.4 EUS Long Life perf +17 4.18.0-305.200.1.el8_4 RHSA-2026:47248
RHEL 8.4 AUS perf +17 4.18.0-305.200.1.el8_4 RHSA-2026:47248

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 rv +74 6.12.0-211.26.1.el10_2 ALSA-2026:27288
AlmaLinux 9 rv +73 5.14.0-687.17.1.el9_8 ALSA-2026:27789
AlmaLinux 8 kernel-rt +9 4.18.0-553.134.1.rt7.475.el8_10 ALSA-2026:26428
AlmaLinux 8 perf +24 4.18.0-553.134.1.el8_10 ALSA-2026:26427

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 kernel 6.12.0-211.26.1.el10_2 RLSA-2026:27288
Rocky Linux 9 kernel 5.14.0-687.17.1.el9_8 RLSA-2026:27789
Rocky Linux 8 kernel 4.18.0-553.134.1.el8_10 RLSA-2026:26427
ReleasePackageFixed inAdvisory
SLES 15 SP7 kernel-64kb +7 6.4.0-150700.53.55.1 SUSE-SU-2026:2238-1
SLES 15 SP7 kernel-default-base 6.4.0-150700.53.55.1.150700.17.33.1 SUSE-SU-2026:2238-1
SLES 15 SP6 kernel-64kb +6 6.4.0-150600.23.112.1 SUSE-SU-2026:2195-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.112.1.150600.12.52.1 SUSE-SU-2026:2195-1
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP6 kernel-default-base 6.4.0-150600.23.112.1.150600.12.52.1 SUSE-SU-2026:2195-1
SLES for SAP 15 SP6 kernel-docs +4 6.4.0-150600.23.112.1 SUSE-SU-2026:2195-1
SLE Micro 6.2 kernel-syms +1 6.12.0-160000.33.1 SUSE-SU-2026:21834-1
SLE Live Patching 15 SP7 kernel-default 6.4.0-150700.53.55.1 SUSE-SU-2026:2238-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_15 1-150700.15.3.1 SUSE-SU-2026:2238-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.112.1 SUSE-SU-2026:2195-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_26 1-150600.13.3.1 SUSE-SU-2026:2195-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed kernel-source 7.0.3-1.1 openSUSE-SU-2026:10703-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.18.30-61.116 +2 1:1.0-0.amzn2023 ALAS2023-2026-1816, ALAS2023-2026-1754, ALAS2023-2026-1694
Amazon Linux 2023 perf +11 1:6.1.170-210.320.amzn2023 ALAS2023-2026-1694
Amazon Linux 2023 perf6.12 +11 1:6.12.90-120.164.amzn2023 ALAS2023-2026-1816
Amazon Linux 2023 perf6.18 +11 1:6.18.30-61.116.amzn2023 ALAS2023-2026-1754

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 rv +29 6.12.0-211.34.1.el10_2 ELSA-2026-27288
Oracle Linux 9 kernel-uek +34 6.12.0-204.92.4.2.el10uek ELSA-2026-50372
Oracle Linux 9 rv +28 5.14.0-687.17.1.el9_8 ELSA-2026-27789
Oracle Linux 8 perf +19 4.18.0-553.134.1.el8_10 ELSA-2026-26427

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 30

References