CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of DMA-coherent memory, specifically in the mana_hwc_rx_event_handler function, where a double-fetch of the hwc_msg_id can occur. This flaw allows hardware to modify the value between the bounds check and its subsequent use, potentially leading to unauthorized access or manipulation of data. Organizations using Linux in environments with Confidential VMs (SEV-SNP/TDX) should prioritize patching this critical vulnerability to mitigate risks associated with data integrity and security.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix TOCTOU double-fetch of hwc_msg_id from DMA buffer In mana_hwc_rx_event_handler(), resp->response.hwc_msg_id is read from DMA-coherent memory and bounds-checked, then mana_hwc_handle_resp() re-reads the same field from the same DMA buffer for test_bit() and pointer arithmetic. DMA-coherent memory is mapped uncacheable on x86 and is shared, unencrypted, in Confidential VMs (SEV-SNP/TDX), so each load goes directly to host-visible memory. A H/W can modify the value between the check and the use, bypassing the bounds validation. Fix this by reading hwc_msg_id exactly once using READ_ONCE() into a stack-local variable in mana_hwc_rx_event_handler(), and passing the validated value as a parameter to mana_hwc_handle_resp().