CVE-2026-46036
High · 7.8CVSS
7.8
EPSS
0.1%
Published
May 27, 2026
CISA due date
—
Cloudanix analysis
A bug in how the Linux kernel manages certain hardware device interrupts could let someone with local access crash the computer or run their own code with higher privileges.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition allowing concurrent VFIO_DEVICE_SET_IRQS ioctls to free the cdx_irqs array via vfio_cdx_msi_disable while another path still holds a reference, resulting in use-after-free.
Why it matters to the business
Local attackers may crash systems or escalate privileges, leading to service outages or full host compromise in environments using VFIO CDX devices.
How an attack unfolds
An attacker with local access issues multiple concurrent VFIO_DEVICE_SET_IRQS calls against a VFIO CDX device; one call observes config_msi as set while another clears it and frees cdx_irqs, enabling use-after-free exploitation for code execution.
How to fix it
Apply a kernel update that adds the cdx_irqs_lock mutex to serialize all updates to config_msi, cdx_irqs, and msi_count in vfio_cdx_set_msi_trigger and removes the unsynchronized test in vfio_cdx_irqs_cleanup.
How to confirm the fix worked
Inspect the vfio_cdx_device struct and vfio_cdx_set_msi_trigger function in the kernel source to confirm the mutex is declared and held around config_msi checks and cdx_irqs operations.
Typical attack path
- Gain local user access on a Linux system
- Locate or configure a VFIO CDX device
- Trigger concurrent VFIO_DEVICE_SET_IRQS ioctls to induce the race
- Leverage the resulting use-after-free for privilege escalation or denial of service
How to detect it
Examine kernel logs and audit trails for repeated or concurrent VFIO_DEVICE_SET_IRQS ioctl patterns on CDX devices, especially around device open/close events.
What your security team should do
- Prioritize kernel updates on systems exposing VFIO CDX devices
- Limit untrusted local access to VFIO device nodes
- Review audit logs for high-frequency VFIO ioctl activity
The record
In the Linux kernel, the following vulnerability has been resolved: vfio/cdx: Serialize VFIO_DEVICE_SET_IRQS with a per-device mutex vfio_cdx_set_msi_trigger() reads vdev->config_msi and operates on the vdev->cdx_irqs array based on its value, but provides no serialization against concurrent VFIO_DEVICE_SET_IRQS ioctls. Two callers can race such that one observes config_msi as set while another clears it and frees cdx_irqs via vfio_cdx_msi_disable(), resulting in a use-after-free of the cdx_irqs array. Add a cdx_irqs_lock mutex to struct vfio_cdx_device and acquire it in vfio_cdx_set_msi_trigger(), which is the single chokepoint through which all updates to config_msi, cdx_irqs, and msi_count flow, covering both the ioctl path and the close-device cleanup path. This keeps the test of config_msi atomic with the subsequent enable, disable, or trigger operations. Drop the pre-call !cdx_irqs test from vfio_cdx_irqs_cleanup() as part of this change: the optimization it provided is redundant with the !config_msi early-return inside vfio_cdx_msi_disable(), and leaving the test in place would be an unsynchronized read of state the new lock is meant to protect.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Tumbleweed | kernel-source | 0 | 7.0.11-1.1 |
Related vulnerabilities
- CVE-2026-53354 In the Linux kernel, the following vulnerability has been resolved: arm64: errata… Also affects kernel-source
- CVE-2026-53325 In the Linux kernel, the following vulnerability has been resolved: agp/amd64: Fix broken… Also affects kernel-source
- CVE-2026-52946 In the Linux kernel, the following vulnerability has been resolved: fs/fcntl: fix… Also affects kernel-source
- CVE-2026-52907 In the Linux kernel, the following vulnerability has been resolved: media: rockchip… Also affects kernel-source
- CVE-2026-52906 In the Linux kernel, the following vulnerability has been resolved: 9p: fix access mode… Also affects kernel-source
- CVE-2026-52905 In the Linux kernel, the following vulnerability has been resolved: mm/damon/core… Also affects kernel-source
- CVE-2026-52904 In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: fix… Also affects kernel-source
- CVE-2026-46332 In the Linux kernel, the following vulnerability has been resolved: greybus… Also affects kernel-source