CVE-2026-64472
NoneCVSS
—
EPSS
0.2%
Published
Jul 25, 2026
CISA due date
—
Cloudanix analysis
A flaw in some Linux systems using certain high-performance network adapters can make virtual machines or assigned devices unstable during migration or reset operations.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
This is a Linux kernel race condition in the vfio/mlx5 driver caused by concurrently modified bitfields sharing the same underlying storage unit. Because bitfield updates are implemented as read-modify-write operations rather than atomic writes, simultaneous updates to runtime state flags can overwrite each other. The affected state relates to mlx5 VFIO device behavior during attach/detach events, dirty page tracking, reset handling, tracker error handling, and object-change notification. In practical terms, the flaw can cause incorrect device migration or reset state, lost state transitions, inconsistent dirty-log tracking, or kernel-side error paths. The most likely technical outcomes are denial of service, failed VM/device migration, device reset instability, or kernel warnings/crashes on systems using mlx5 hardware with VFIO features.
Why it matters to the business
Organizations using Linux virtualization hosts with NVIDIA/Mellanox mlx5 adapters and VFIO passthrough or migration capabilities may experience instability during VM migration, device reset, or high-churn device operations. The vulnerability is not currently listed in CISA KEV, has no known exploit maturity, and has a low EPSS score, so broad internet-scale exploitation is unlikely; however, disruption on affected virtualization or cloud infrastructure could impact workload availability and maintenance operations.
How an attack unfolds
An attacker would need a way to influence VFIO/mlx5 runtime operations, typically through local access to a host, a privileged management interface, or control over workloads that can trigger VFIO device lifecycle events. The attacker would attempt to create timing pressure between operations such as VF attach/detach, dirty page tracking start/stop, reset handling, or migration-related dirty-log polling. If concurrent updates hit bitfields packed into the same storage unit, one update can overwrite another, leaving the driver with stale or contradictory state. The attacker’s objective would most plausibly be to destabilize the host, disrupt VM migration, wedge an assigned device, or trigger kernel fault handling rather than to gain direct remote code execution.
How to fix it
Update the Linux kernel to a version that includes the vfio/mlx5 fix which separates runtime-updated flags into dedicated storage units instead of sharing packed bitfields. If vendor kernels are used, apply the relevant distribution security update rather than relying only on upstream version numbers. Where immediate patching is not possible, reduce exposure by limiting VFIO/mlx5 usage to trusted administrators, disabling or avoiding live migration/dirty page tracking for affected mlx5 VFIO devices, avoiding unnecessary VF reset churn, and restricting access to VM/device management APIs that can trigger VFIO lifecycle operations.
How to confirm the fix worked
Confirm that the running kernel includes the vfio/mlx5 fix for racy bitfields and struct layout tightening. Validate by checking the installed kernel package changelog or vendor advisory for the backported vfio/mlx5 patch, then reboot into the updated kernel. On source-based or custom kernels, verify that runtime-updated mlx5 VFIO state fields such as mdev_detach, log_active, deferred_reset, is_err, and object_changed are no longer packed together as shared bitfields. Operationally, test affected workflows such as VFIO device attach/detach, VM migration with dirty tracking, and reset recovery while monitoring kernel logs for vfio/mlx5 warnings, kernel oopses, tracker errors, or device reset failures.
Typical attack path
- Identify a Linux host using the vfio/mlx5 driver with supported mlx5 hardware and VFIO device assignment or migration features enabled.
- Obtain local or management-level ability to trigger VFIO device lifecycle, reset, migration, or dirty page tracking operations.
- Repeatedly initiate concurrent operations such as VF attach/detach, dirty-log polling, page tracker start/stop, and device reset handling.
- Attempt to win the race so that one non-atomic bitfield update overwrites another runtime state flag.
- Cause inconsistent driver state, failed migration, device malfunction, kernel warnings, or host/service denial of service.
How to detect it
There are no public, reliable indicators showing exploitation of this vulnerability, and successful triggering may look like a timing-related kernel or device instability event rather than a distinct intrusion artifact. Review kernel logs, hypervisor logs, VM migration logs, and hardware error logs for unusual clustering of vfio/mlx5 errors around device attach/detach, dirty page tracking, migration, or reset events. Look for kernel oopses, warnings, soft lockups, AER reset messages, mlx5 tracker errors, failed dirty-log polling, unexpected VFIO device removal, or repeated migration failures. Correlate these events with administrative actions, API calls, or workload activity that triggered VFIO device lifecycle changes. Because this issue requires specific local or management-plane interaction, also review privileged access logs for unusual or automated VM migration, passthrough assignment, reset, or device detach activity.
- vfio_mlx5
- mlx5vf
- mlx5_vhca_page_tracker
- mlx5vf_start_page_tracker
- mlx5vf_stop_page_tracker
- mlx5vf_pci_aer_reset_done
- mlx5fv_vf_event
- dirty-log polling
- AER reset
- kernel BUG
- kernel oops
- soft lockup
- VFIO_DEVICE_RESET
What your security team should do
- Prioritize patching Linux virtualization hosts that use mlx5 adapters with VFIO passthrough, mediated device, or live migration functionality.
- Inventory systems loading vfio_mlx5 or using mlx5 devices with VFIO and determine whether they run a fixed vendor kernel.
- Restrict access to VM migration, VFIO device assignment, reset, and device-management operations to trusted administrators until patched.
- Monitor kernel logs for vfio/mlx5 errors, AER reset anomalies, dirty page tracker failures, failed migrations, and unexplained host instability.
- If affected systems support critical production workloads, schedule controlled reboots into fixed kernels and validate migration/reset workflows after patching.
- Track vendor advisories because fixed versions may vary by distribution and may be backported without changing the upstream kernel version visibly.
The record
In the Linux kernel, the following vulnerability has been resolved: vfio/mlx5: Fix racy bitfields and tighten struct layout Bitfield operations are not atomic, they use a read-modify-write pattern, therefore we should be careful not to pack bitfields that can be concurrently updated into the same storage unit. This split takes a binary approach: flags that are only modified pre/post open/close remain bitfields, flags modified from user action, including actions that reach across to another device (ex. reset) use dedicated storage units. Note mlx5_vhca_page_tracker.status is relocated to fill the alignment hole this split exposes. Bitfield justifications: migrate_cap: written only in mlx5vf_cmd_set_migratable() at probe chunk_mode: written only in mlx5vf_cmd_set_migratable() at probe mig_state_cap: written only in mlx5vf_cmd_set_migratable() at probe Dedicated storage units: mdev_detach: written in the VF attach/detach event notifier mlx5fv_vf_event() at runtime log_active: written in mlx5vf_start_page_tracker()/ mlx5vf_stop_page_tracker() during runtime dirty tracking deferred_reset: written in mlx5vf_state_mutex_unlock()/ mlx5vf_pci_aer_reset_done() during runtime reset handling is_err: set by tracker error handling and dirty-log polling at runtime object_changed: set by tracker event handling and cleared by dirty-log polling at runtime
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|