CVE-2026-31788
High · 8.2CVSS
8.2
EPSS
0.2%
Published
Mar 25, 2026
CISA due date
—
Cloudanix analysis
A privileged attacker inside an affected Xen-based Linux virtual machine could bypass boot-time integrity protections and secretly tamper with the machine’s operating system kernel.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Privilege Escalation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This is a local privilege and trust-boundary issue in the Linux kernel Xen privcmd driver. In Xen guest domains, /dev/xen/privcmd allows user-space processes to issue hypercalls. Access is normally limited to highly privileged local users and the Xen hypervisor generally prevents hypercalls from affecting unrelated domains. However, in an unprivileged Xen domU booted with Secure Boot, a root-level process could use the unrestricted privcmd interface to perform hypervisor-mediated operations that undermine the guest kernel’s integrity, including modifying kernel memory and bypassing the security guarantees Secure Boot is intended to provide. The fix restricts privcmd use in non-dom0 guests to the expected target domain from the start, reducing the ability for a privileged process in a domU to abuse arbitrary hypercall access.
Why it matters to the business
An attacker who has already obtained root or equivalent administrative control inside an affected Xen-based Linux guest may be able to defeat Secure Boot protections and tamper with the running kernel. This can enable stealthy persistence, disabling of endpoint controls, kernel-level backdoors, or falsification of security posture inside the affected guest. The issue is high impact technically, but exploitation requires local high privileges, it is not listed in CISA KEV, ransomware use is not reported, exploit maturity is currently marked as none, and EPSS is very low and flat, so urgency should be driven primarily by Xen/Secure Boot exposure and workload criticality rather than broad internet-scale exploitation pressure.
How an attack unfolds
An attacker first needs local administrative privileges inside an affected Linux Xen unprivileged guest domain. If the guest exposes the Xen privcmd device and is relying on Secure Boot or kernel lockdown semantics for integrity, the attacker opens /dev/xen/privcmd and issues crafted hypercalls through the vulnerable driver. Because the vulnerable driver does not restrict the domU to the intended target domain early enough, those hypercalls can be used to undermine the guest’s own kernel integrity, such as by modifying kernel memory or bypassing protections that should prevent unsigned or unauthorized kernel changes. In most normal configurations, the Xen hypervisor still prevents the attacker from directly controlling other unrelated domains, so the practical impact is strongest as a Secure Boot bypass and kernel compromise within the affected guest. No named threat actors or active exploitation campaigns are currently associated with this issue based on the provided data.
How to fix it
Apply the Linux kernel updates that include the Xen XSA-482 fix for the affected distribution or kernel branch. No exact fixed package versions were provided, so security teams should use their Linux distribution vendor advisories and kernel package metadata to identify the corrected build for their supported release. Where immediate patching is not possible, reduce exposure by limiting access to /dev/xen/privcmd to only processes and service accounts that require it, removing or disabling xen_privcmd where it is not operationally needed, avoiding unnecessary device-model roles in unprivileged domUs, enforcing least privilege for sudo/root access, and using LSM/audit policies to alert on unexpected privcmd access. Mitigations should not be treated as a substitute for the kernel fix because a local root user may be able to weaken discretionary controls on an unpatched system.
How to confirm the fix worked
Confirm that each Xen guest is running a kernel build that contains the XSA-482 remediation from the relevant Linux distribution or upstream kernel branch. Validate exposure by checking whether the host is a Xen guest, whether it is an unprivileged domU rather than dom0, whether /dev/xen/privcmd exists, and whether Secure Boot or kernel lockdown is expected to protect guest kernel integrity. After remediation, verify that non-dom0 privcmd behavior is restricted to the intended target domain and that unexpected privileged processes cannot freely use the privcmd interface for arbitrary hypercalls. Review package changelogs, distribution advisories, or kernel build notes for references to XSA-482, xen/privcmd restrictions, or CVE-2026-31788.
Typical attack path
- Gain local root or equivalent administrative privileges inside an affected Linux Xen unprivileged guest domain.
- Confirm the guest is running under Xen and that the Xen privcmd interface is present, typically via /dev/xen/privcmd.
- Open the privcmd device from a privileged process.
- Issue crafted hypercalls through the privcmd interface.
- Use the unrestricted hypercall capability to tamper with guest kernel memory or bypass Secure Boot/kernel integrity controls.
- Install or enable post-exploitation capabilities such as kernel-level persistence, stealth hooks, or security-control bypasses inside the guest.
How to detect it
Look for evidence that privileged local processes accessed the Xen privcmd interface unexpectedly. Useful sources include auditd file-access and ioctl logs for /dev/xen/privcmd, EDR telemetry showing process opens of Xen device nodes, shell history for commands interacting with Xen devices, kernel logs for Xen or privcmd messages, sudo/authentication logs showing recent elevation before suspicious device access, and file integrity or kernel integrity alerts indicating unexpected kernel modification. Focus on access by interactive shells, scripting runtimes, locally compiled tools, unknown binaries, or processes outside normal Xen management/device-model workflows. Because this vulnerability enables in-memory kernel tampering and may not create stable on-disk artifacts, absence of logs does not prove absence of exploitation. If compromise is suspected, collect volatile memory if feasible, compare loaded modules and kernel text integrity against a known-good patched baseline, and consider the guest untrusted until rebooted into a patched kernel from trusted media or image sources.
- /dev/xen/privcmd
- name="/dev/xen/privcmd"
- xen_privcmd
- privcmd
- xen/privcmd
- ioctl /dev/xen/privcmd
- open /dev/xen/privcmd
- XSA-482
- CVE-2026-31788
What your security team should do
- Prioritize patching Xen-based Linux guests that rely on Secure Boot, kernel lockdown, measured boot, or kernel integrity guarantees.
- Inventory Linux systems running as Xen domU guests and identify those exposing /dev/xen/privcmd.
- Apply vendor kernel updates that include the XSA-482 fix; because no fixed versions were supplied, track exact package versions through distribution advisories.
- Restrict and monitor access to /dev/xen/privcmd, especially by shells, scripting runtimes, compilers, debugging tools, and unknown binaries.
- Treat unexpected privcmd access by non-Xen-management processes as suspicious and investigate for local privilege abuse or kernel tampering.
- Harden local administrator access paths, including sudo policy, SSH access, privileged containers, and configuration-management credentials, because exploitation requires high local privileges.
- If patching must be delayed, consider disabling the xen_privcmd module or removing access to /dev/xen/privcmd where the guest does not need to act as a device model for another guest.
- Add auditd or EDR detections for opens or ioctls against /dev/xen/privcmd by unusual processes.
- For high-assurance workloads, consider rebooting into a known-good patched kernel and performing integrity validation after remediation, because kernel memory tampering may not be reliably visible from inside the compromised guest.
The record
In the Linux kernel, the following vulnerability has been resolved: xen/privcmd: restrict usage in unprivileged domU The Xen privcmd driver allows to issue arbitrary hypercalls from user space processes. This is normally no problem, as access is usually limited to root and the hypervisor will deny any hypercalls affecting other domains. In case the guest is booted using secure boot, however, the privcmd driver would be enabling a root user process to modify e.g. kernel memory contents, thus breaking the secure boot feature. The only known case where an unprivileged domU is really needing to use the privcmd driver is the case when it is acting as the device model for another guest. In this case all hypercalls issued via the privcmd driver will target that other guest. Fortunately the privcmd driver can already be locked down to allow only hypercalls targeting a specific domain, but this mode can be activated from user land only today. The target domain can be obtained from Xenstore, so when not running in dom0 restrict the privcmd driver to that target domain from the beginning, resolving the potential problem of breaking secure boot. This is XSA-482 --- V2: - defer reading from Xenstore if Xenstore isn't ready yet (Jan Beulich) - wait in open() if target domain isn't known yet - issue message in case no target domain found (Jan Beulich)
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.28.1 |
Related vulnerabilities
- CVE-2026-46317 In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Reassign… Also affects dtb-aarch64
- CVE-2026-46316 In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic-its… Also affects dtb-aarch64
- CVE-2026-46181 In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx4: Fix… Also affects dtb-aarch64
- CVE-2026-46176 In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix error… Also affects dtb-aarch64
- CVE-2026-46159 In the Linux kernel, the following vulnerability has been resolved: btrfs: fix… Also affects dtb-aarch64
- CVE-2026-46114 In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Reject… Also affects dtb-aarch64
- CVE-2026-46090 In the Linux kernel, the following vulnerability has been resolved: ALSA: aloop: Fix peer… Also affects dtb-aarch64
- CVE-2026-46094 In the Linux kernel, the following vulnerability has been resolved: ext4: fix bounds… Also affects dtb-aarch64