CVE-2026-46036: vfio/cdx: Serialize VFIO_DEVICE_SET_IRQS with a per-device mutex
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.
Security readout for executives and security teams
Plain-English summary
A race condition in the Linux VFIO CDX driver can cause the kernel to use freed memory when two interrupt-configuration requests occur concurrently. A locally authenticated, low-privilege user could potentially compromise confidentiality, integrity, or availability on systems exposing the affected device interface.
Executive priority
Prioritize affected multi-user, virtualization, or device-assignment systems where less-trusted local users can reach VFIO CDX devices. Treat other systems as verification-driven rather than universally exposed. Remediate promptly because successful triggering could affect all three security objectives at kernel level.
Technical view
Concurrent VFIO_DEVICE_SET_IRQS calls can race while reading config_msi and modifying or freeing the cdx_irqs array, producing a use-after-free. The kernel fix adds a per-device mutex covering MSI state changes, interrupt-array operations, and device-close cleanup. CVSS 3.1 is 7.8 with local access and low privileges required.
Likely exposure
Exposure is likely limited to Linux systems using the VFIO CDX driver and permitting a low-privilege local user to access the relevant VFIO device. The supplied affected-version data is ambiguous and should not be treated as a complete distribution-specific range.
Exploitation context
The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction. The source bundle reports no CISA KEV listing and provides no evidence of active exploitation or a public exploit. Practical reachability depends on VFIO CDX configuration and device permissions.
Researcher notes
The vulnerable state transition occurs because config_msi can remain observed as enabled while another caller disables MSI and frees cdx_irqs. The fix serializes the ioctl and close cleanup paths. No CWE was supplied. Listed version values include ambiguous entries, so commit or vendor-package mapping is necessary.
Mitigation direction
Install a distribution kernel containing the applicable linked stable-kernel fix or confirmed backport.
Consult the Linux distribution or appliance vendor for precise affected and fixed package versions.
Restrict access to relevant VFIO devices until remediation is confirmed.
Disable unused VFIO CDX functionality where operationally safe and vendor-supported.
Validation and detection
Inventory running kernel versions and map them to vendor advisories or backport records.
Determine whether the VFIO CDX driver is present and operationally used.
Review permissions controlling local access to relevant VFIO device interfaces.
Confirm the installed kernel includes the per-device cdx_irqs_lock fix.
Recheck exposure after rebooting into the remediated kernel.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-46036 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
5Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.