In the Linux kernel, the following vulnerability has been resolved:
net: mana: Validate the packet length reported by the NIC
Validate the packet length reported in the RX CQE before passing it
to skb processing. The CQE is supplied by the NIC device and should
not be blindly trusted.
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8
AV:N - On internet-facing Azure VMs, remote packets drive MANA RX through IRQ/NAPI into mana_poll_rx_cq()/mana_process_rx_cqe(), where device-written RX CQE pkt_len is trusted and passed to skb/XDP processing without bounds checks against rxq->datasize.
AC:L - The attacker can repeatedly send traffic to trigger RX completions until the MANA backend reports pkt_len above rxq->datasize; once that CQE arrives, mana_refill_rx_oob() and mana_rx_skb() misuse the length deterministically with no race or special memory layout.
PR:N - The vulnerable path is the netdev NAPI receive handler before any socket or credential checks; an unauthenticated remote sender only needs packets routed to the VM's MANA interface, with no local account or capability on the victim.
UI:N - RX CQEs are handled automatically from hardware interrupts and NAPI polling once the interface is up; no victim mount, ioctl, or other interactive action is required beyond normal network reception.
S:U - Out-of-bounds access and crashes occur in the guest kernel processing MANA RX buffers; impact stays within that kernel security authority and does not by itself cross a VM/host or IOMMU boundary.
C:H - Unchecked pkt_len is used in page_pool_dma_sync_for_cpu(), xdp_prepare_buff()/bpf_prog_run_xdp(), and skb_put()/eth_type_trans(), enabling reads well past the DMA-mapped rxq->datasize region and leaking adjacent kernel heap/page memory.
I:H - Oversized pkt_len expands skb and XDP data bounds beyond the posted RX buffer, corrupting adjacent kernel memory and providing attacker-influenced metadata/control corruption primitives consistent with high integrity impact for OOB memory corruption.
A:H - Processing an oversized pkt_len can kernel oops/panic from skb_put bounds failures or unmapped reads in softirq/NAPI context, and the remote attacker can retrigger the condition for sustained denial of service.
| Attack Vector |
Network |
Scope |
Unchanged |
| Attack Complexity |
Low |
Confidentiality Impact |
High |
| Privileges Required |
None |
Integrity Impact |
High |
| User Interaction |
None |
Availability Impact |
High |
AV:N - On internet-facing Azure VMs, remote packets drive MANA RX through IRQ/NAPI into mana_poll_rx_cq()/mana_process_rx_cqe(), where device-written RX CQE pkt_len is trusted and passed to skb/XDP processing without bounds checks against rxq->datasize.
AC:L - The attacker can repeatedly send traffic to trigger RX completions until the MANA backend reports pkt_len above rxq->datasize; once that CQE arrives, mana_refill_rx_oob() and mana_rx_skb() misuse the length deterministically with no race or special memory layout.
PR:N - The vulnerable path is the netdev NAPI receive handler before any socket or credential checks; an unauthenticated remote sender only needs packets routed to the VM's MANA interface, with no local account or capability on the victim.
UI:N - RX CQEs are handled automatically from hardware interrupts and NAPI polling once the interface is up; no victim mount, ioctl, or other interactive action is required beyond normal network reception.
S:U - Out-of-bounds access and crashes occur in the guest kernel processing MANA RX buffers; impact stays within that kernel security authority and does not by itself cross a VM/host or IOMMU boundary.
C:H - Unchecked pkt_len is used in page_pool_dma_sync_for_cpu(), xdp_prepare_buff()/bpf_prog_run_xdp(), and skb_put()/eth_type_trans(), enabling reads well past the DMA-mapped rxq->datasize region and leaking adjacent kernel heap/page memory.
I:H - Oversized pkt_len expands skb and XDP data bounds beyond the posted RX buffer, corrupting adjacent kernel memory and providing attacker-influenced metadata/control corruption primitives consistent with high integrity impact for OOB memory corruption.
A:H - Processing an oversized pkt_len can kernel oops/panic from skb_put bounds failures or unmapped reads in softirq/NAPI context, and the remote attacker can retrigger the condition for sustained denial of service.
CVSS 3.1