Description · from the CVE record
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().
Affected
ProductAffectedFixed inSource
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < a201c66edf2ebc6cfdc3813a889ba20fecebfae3a201c66edf2ebc6cfdc3813a889ba20fecebfae3CNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 70ad2dff8d052a85dfef15715b531f38a29108cf70ad2dff8d052a85dfef15715b531f38a29108cfCNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 566f42fb67a7ebfed6650e407e5b72e6b3e83bf7566f42fb67a7ebfed6650e407e5b72e6b3e83bf7CNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 6180a06bbc99fd9114b8db4be6c4d46e40f046ef6180a06bbc99fd9114b8db4be6c4d46e40f046efCNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 09ec063d87c2dd3fa6f3561361a017bd882e9f3709ec063d87c2dd3fa6f3561361a017bd882e9f37CNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 3c4db56ccd13dd020fbf43afabaee74a40ec75e43c4db56ccd13dd020fbf43afabaee74a40ec75e4CNA
Linuxca9c54d2d6a5ab2430c4eda364c77125d62e5e0f – < 35f0f0a2536a4d604b4dbad92c85c4a8fdebb87035f0f0a2536a4d604b4dbad92c85c4a8fdebb870CNA
Linux5.135.15.209CNA