Overview
About vulnerability
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().
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , TuxCare 9.6 ESU , TuxCare 9.8 ESU , Ubuntu 20.04 ELS
- Affected packages:
- linux-meta @ 5.4.0 (+7 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| AlmaLinux 8 | Released |
126 kernels
|
| AlmaLinux 9 | Released |
130 kernels
|
| AlmaLinux 9.2 ESU | Planned | — |
| AlmaLinux 9.6 ESU | In Rollout |
20 kernels
|
| CentOS 8 | Released |
3 kernels
|
| CloudLinux OS 7h | Released |
106 kernels
|
| CloudLinux OS 8 | Released |
103 kernels
|
| Debian 12 | Planned | — |
| Oracle Linux 8 | Released |
119 kernels
|
| Oracle Linux 9 | Released |
129 kernels
|
| Proxmox VE 7 5.15 | Released |
47 kernels
|
| RHEL 10 | Planned | — |
| RHEL 8 | Released |
119 kernels
|
| RHEL 9 | Released |
128 kernels
|
| Rocky Linux 8 | Released |
106 kernels
|
| Rocky Linux 9 | Released |
105 kernels
|
| Ubuntu 20.04 HWE AWS | Released |
57 kernels
|
| Ubuntu 20.04 HWE Azure | Released |
40 kernels
|
| Ubuntu 22.04 | Released |
97 kernels
|
| Ubuntu 22.04 AWS | Released |
88 kernels
|
| Ubuntu 22.04 Azure | Released |
78 kernels
|
| Ubuntu 24.04 | Released |
49 kernels
|
| Ubuntu 26.04 | Will Not Fix | — |