CVE-2024-58099
Published: Apr 29, 2025
Modified: May 11, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: vmxnet3: Fix packet corruption in vmxnet3_xdp_xmit_frame Andrew and Nikolay reported connectivity issues with Cilium's service load-balancing in case of vmxnet3. If a BPF program for native XDP adds an encapsulation header such as IPIP and transmits the packet out the same interface, then in case of vmxnet3 a corrupted packet is being sent and subsequently dropped on the path. vmxnet3_xdp_xmit_frame() which is called e.g. via vmxnet3_run_xdp() through vmxnet3_xdp_xmit_back() calculates an incorrect DMA address: page = virt_to_page(xdpf->data); tbi->dma_addr = page_pool_get_dma_addr(page) + VMXNET3_XDP_HEADROOM; dma_sync_single_for_device(&adapter->pdev->dev, tbi->dma_addr, buf_size, DMA_TO_DEVICE); The above assumes a fixed offset (VMXNET3_XDP_HEADROOM), but the XDP BPF program could have moved xdp->data. While the passed buf_size is correct (xdpf->len), the dma_addr needs to have a dynamic offset which can be calculated as xdpf->data - (void *)xdpf, that is, xdp->data - xdp->data_hard_start.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected 54f00cce11786742bd11e5e68c3bf85e6dc048c9 - < 59ba6cdadb9c26b606a365eb9c9b25eb2052622daffected 54f00cce11786742bd11e5e68c3bf85e6dc048c9 - < f82eb34fb59a8fb96c19f4f492c20eb774140bb5affected 54f00cce11786742bd11e5e68c3bf85e6dc048c9 - < 4678adf94da4a9e9683817b246b58ce15fb81782 |
Linux | Linux | affected 6.6unaffected 0 - < 6.6unaffected 6.6.59 - <= 6.6.*unaffected 6.11.6 - <= 6.11.*unaffected 6.12 - <= * |
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now