xen/privcmd: fix double free via VMA splitting
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 33 fixed, 2 without a fix
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-415 and the CVSS impact.
Summary
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
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 3.8 and later | 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85, 6.18.26, 7.0.3, 7.1 | Patch available | CNA |
- Linux VendorLinux Affected 3.8 and later Fixed in 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85, 6.18.26, 7.0.3, 7.1 Patch available CNA
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.8 to before 5.10.254; 5.11 to before 5.15.204; 5.16 to before 6.1.170; 6.2 to before 6.6.137; 6.7 to before 6.12.85; 6.13 to before 6.18.26; 6.19 to before 7.0.3 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* | 7.1 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* | 7.1 rc2 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 3.8 to before 5.10.254; 5.11 to before 5.15.204; 5.16 to before 6.1.170; 6.2 to before 6.6.137; 6.7 to before 6.12.85; 6.13 to before 6.18.26; 6.19 to before 7.0.3 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* Versions 7.1 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* Versions 7.1 rc2 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85, 6.18.26, 7.0.3, 7.1
Red Hat 11 advisories
- RHSA-2026:53989 Released 2026-08-12 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.6) bpftool-4.18.0-372.206.1.el8_6, kernel-4.18.0-372.206.1.el8_6, kernel-abi-stablelists-4.18.0-372.206.1.el8_6 +14
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) bpftool-4.18.0-372.206.1.el8_6, kernel-4.18.0-372.206.1.el8_6, kernel-abi-stablelists-4.18.0-372.206.1.el8_6 +14
- RHSA-2026:52764 Released 2026-08-10 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream EUS (v. 10.0) kernel-64k-debug-devel-6.12.0-55.95.1.el10_0, kernel-64k-debug-devel-matched-6.12.0-55.95.1.el10_0, kernel-64k-devel-6.12.0-55.95.1.el10_0 +12
- Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel-6.12.0-55.95.1.el10_0, kernel-64k-6.12.0-55.95.1.el10_0, kernel-64k-core-6.12.0-55.95.1.el10_0 +28
- Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) kernel-tools-libs-devel-6.12.0-55.95.1.el10_0, libperf-6.12.0-55.95.1.el10_0
- Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt-6.12.0-55.95.1.el10_0, kernel-rt-64k-6.12.0-55.95.1.el10_0, kernel-rt-64k-core-6.12.0-55.95.1.el10_0 +21
- Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt-6.12.0-55.95.1.el10_0, kernel-rt-core-6.12.0-55.95.1.el10_0, kernel-rt-debug-6.12.0-55.95.1.el10_0 +11
- RHSA-2026:52649 Released 2026-08-10 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS E4S (v.8.8) bpftool-4.18.0-477.158.1.el8_8, kernel-4.18.0-477.158.1.el8_8, kernel-abi-stablelists-4.18.0-477.158.1.el8_8 +14
- Red Hat Enterprise Linux BaseOS TUS (v.8.8) bpftool-4.18.0-477.158.1.el8_8, kernel-4.18.0-477.158.1.el8_8, kernel-abi-stablelists-4.18.0-477.158.1.el8_8 +14
Show 8 more Red Hat advisories
- RHSA-2026:51603 Released 2026-08-07 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream E4S (v.9.2) kernel-64k-debug-devel-5.14.0-284.186.1.el9_2, kernel-64k-debug-devel-matched-5.14.0-284.186.1.el9_2, kernel-64k-devel-5.14.0-284.186.1.el9_2 +10
- Red Hat Enterprise Linux BaseOS E4S (v.9.2) bpftool-7.0.0-284.186.1.el9_2, kernel-5.14.0-284.186.1.el9_2, kernel-64k-5.14.0-284.186.1.el9_2 +29
- RHSA-2026:51604 Released 2026-08-07 · Red Hat rating Importantkernel-rt security, bug fix, and enhancement update
- Red Hat Enterprise Linux Real Time E4S (v.9.2) kernel-rt-5.14.0-284.186.1.rt14.471.el9_2, kernel-rt-core-5.14.0-284.186.1.rt14.471.el9_2, kernel-rt-debug-5.14.0-284.186.1.rt14.471.el9_2 +9
- Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) kernel-rt-5.14.0-284.186.1.rt14.471.el9_2, kernel-rt-core-5.14.0-284.186.1.rt14.471.el9_2, kernel-rt-debug-5.14.0-284.186.1.rt14.471.el9_2 +11
- RHSA-2026:48386 Released 2026-07-31 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux AppStream E4S (v.9.4) kernel-64k-debug-devel-5.14.0-427.141.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.141.1.el9_4, kernel-64k-devel-5.14.0-427.141.1.el9_4 +11
- Red Hat Enterprise Linux BaseOS E4S (v.9.4) bpftool-7.3.0-427.141.1.el9_4, kernel-5.14.0-427.141.1.el9_4, kernel-64k-5.14.0-427.141.1.el9_4 +29
- Red Hat Enterprise Linux Real Time E4S (v.9.4) kernel-rt-5.14.0-427.141.1.el9_4, kernel-rt-core-5.14.0-427.141.1.el9_4, kernel-rt-debug-5.14.0-427.141.1.el9_4 +9
- Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4) kernel-rt-5.14.0-427.141.1.el9_4, kernel-rt-core-5.14.0-427.141.1.el9_4, kernel-rt-debug-5.14.0-427.141.1.el9_4 +11
- RHSA-2026:47248 Released 2026-07-28 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.4) bpftool-4.18.0-305.200.1.el8_4, kernel-4.18.0-305.200.1.el8_4, kernel-abi-stablelists-4.18.0-305.200.1.el8_4 +14
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) bpftool-4.18.0-305.200.1.el8_4, kernel-4.18.0-305.200.1.el8_4, kernel-abi-stablelists-4.18.0-305.200.1.el8_4 +14
- RHSA-2026:27789 Released 2026-06-22 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-687.17.1.el9_8, kernel-64k-debug-devel-matched-5.14.0-687.17.1.el9_8, kernel-64k-devel-5.14.0-687.17.1.el9_8 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-687.17.1.el9_8, kernel-64k-5.14.0-687.17.1.el9_8, kernel-64k-core-5.14.0-687.17.1.el9_8 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-687.17.1.el9_8, libperf-5.14.0-687.17.1.el9_8
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-687.17.1.el9_8, kernel-rt-64k-5.14.0-687.17.1.el9_8, kernel-rt-64k-core-5.14.0-687.17.1.el9_8 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-687.17.1.el9_8, kernel-rt-core-5.14.0-687.17.1.el9_8, kernel-rt-debug-5.14.0-687.17.1.el9_8 +9
- RHSA-2026:27288 Released 2026-06-20 · Red Hat rating Importantkernel security, bug fix, and enhancement update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-211.26.1.el10_2, kernel-64k-debug-devel-matched-6.12.0-211.26.1.el10_2, kernel-64k-devel-6.12.0-211.26.1.el10_2 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-211.26.1.el10_2, kernel-64k-6.12.0-211.26.1.el10_2, kernel-64k-core-6.12.0-211.26.1.el10_2 +29
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-211.26.1.el10_2, libperf-6.12.0-211.26.1.el10_2
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-211.26.1.el10_2, kernel-rt-64k-6.12.0-211.26.1.el10_2, kernel-rt-64k-core-6.12.0-211.26.1.el10_2 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-211.26.1.el10_2, kernel-rt-core-6.12.0-211.26.1.el10_2, kernel-rt-debug-6.12.0-211.26.1.el10_2 +9
- RHSA-2026:26427 Released 2026-06-16 · Red Hat rating Importantkernel security update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.134.1.el8_10, kernel-4.18.0-553.134.1.el8_10, kernel-abi-stablelists-4.18.0-553.134.1.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.134.1.el8_10
- RHSA-2026:26428 Released 2026-06-16 · Red Hat rating Importantkernel-rt security update
- Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.134.1.rt7.475.el8_10, kernel-rt-core-4.18.0-553.134.1.rt7.475.el8_10, kernel-rt-debug-4.18.0-553.134.1.rt7.475.el8_10 +9
- Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.134.1.rt7.475.el8_10, kernel-rt-core-4.18.0-553.134.1.rt7.475.el8_10, kernel-rt-debug-4.18.0-553.134.1.rt7.475.el8_10 +7
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 7 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix planned: Will not fix |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:27288 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:27789 |
| Red Hat Enterprise Linux AppStream E4S (v.9.2) | Fixed | RHSA-2026:51603 |
| Red Hat Enterprise Linux AppStream E4S (v.9.4) | Fixed | RHSA-2026:48386 |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Fixed | RHSA-2026:52764 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:27288 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2026:26427 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:27789 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.4) | Fixed | RHSA-2026:47248 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.6) | Fixed | RHSA-2026:53989 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.8) | Fixed | RHSA-2026:52649 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.2) | Fixed | RHSA-2026:51603 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.4) | Fixed | RHSA-2026:48386 |
| Red Hat Enterprise Linux BaseOS EUS (v. 10.0) | Fixed | RHSA-2026:52764 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) | Fixed | RHSA-2026:47248 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) | Fixed | RHSA-2026:53989 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.8) | Fixed | RHSA-2026:52649 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2026:26427 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:27288 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2026:27789 |
| Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) | Fixed | RHSA-2026:52764 |
| Red Hat Enterprise Linux NFV (v. 8) | Fixed | RHSA-2026:26428 |
| Red Hat Enterprise Linux RT (v. 8) | Fixed | RHSA-2026:26428 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2026:27288 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2026:27789 |
| Red Hat Enterprise Linux Real Time E4S (v.9.2) | Fixed | RHSA-2026:51604 |
| Red Hat Enterprise Linux Real Time E4S (v.9.4) | Fixed | RHSA-2026:48386 |
| Red Hat Enterprise Linux Real Time EUS (v. 10.0) | Fixed | RHSA-2026:52764 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2026:27288 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2026:27789 |
| Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) | Fixed | RHSA-2026:51604 |
| Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4) | Fixed | RHSA-2026:48386 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) | Fixed | RHSA-2026:52764 |
Not affected: 1 product
- Red Hat Enterprise Linux 6
Timeline
- 2026-10-02 Threatist record created from CVE-2026-31787
- 2026-10-03 Alias added: GHSA-3c28-g28m-gm93
- 2026-10-29 Affected versions changed · Red Hat
- 2026-11-06 CISA SSVC decision points changed
References
Patch 8
- https://git.kernel.org/stable/c/dbf862ce9f009128ab86b234d91413a3e450beb4
- https://git.kernel.org/stable/c/2b985d3a024b9e8c24e21671b34e855569763808
- https://git.kernel.org/stable/c/1576ff3869cbd3620717195f971c85b7d7fd62b5
- https://git.kernel.org/stable/c/402d84ad9e89bd4cbfd07ca8598532b7021daf95
- https://git.kernel.org/stable/c/2894a351fe2ea8684919d36df3188b9a35e3926f
- https://git.kernel.org/stable/c/446ee446d9ae66f36e95c3c90bbcc4e56b94cde0
- https://git.kernel.org/stable/c/71bf829800758a6e3889096e4754ef47ba7fc850
- https://git.kernel.org/stable/c/24daca4fc07f3ff8cd0e3f629cd982187f48436a
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2026-31787 · CVE Program
- CVE-2026-31787 · NVD
- FIRST EPSS
- GHSA-3c28-g28m-gm93 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-31787 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences