CVE-2026-31787
kernel: xen/privcmd: fix double free via VMA splitting
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · April 30, 2026
Updated · October 29, 2026
Description
A flaw was found in the Linux kernel's xen/privcmd module. A local user could exploit this by performing a partial unmapping of a privcmd memory region. This action causes a Virtual Memory Area (VMA) to split, leading to duplicated internal memory pointers. As a result, the same memory can be freed twice, a condition known as a double free, which can cause system instability or a denial of service.
Statement
The vulnerability in the Linux kernel's xen/privcmd module is rated Moderate. This flaw, a double-free issue, can be triggered by a partial munmap() operation on a privcmd mapping, leading to a system crash or potential privilege escalation. Exploitation requires local access and the system to be running within a Xen virtualized environment, limiting its broader impact on typical Red Hat Enterprise Linux installations not configured for Xen.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this issue, prevent the privcmd kernel module from loading if Xen virtualization is not actively used on the system. This can be achieved by blacklisting the module.
Create a file named /etc/modprobe.d/blacklist-privcmd.conf with the following content:
blacklist privcmd
After creating the file, regenerate the initramfs and reboot the system for the changes to take effect.
dracut -f -v (for RHEL 7/8/9) or mkinitrd -f -v (for older RHEL versions)
reboot
This mitigation will prevent the privcmd module from being loaded at boot, thereby eliminating the vulnerability. However, systems requiring Xen virtualization will lose privcmd functionality.
CVSS / CWE
CVSS 3.1 · 7.3CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H
CWE-763 · Release of Invalid Pointer or Reference