KernelScan.io

HIGH

xsk UMEM Headroom OOB

CVE-2026-43093

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.8HIGH

01

In the Linux kernel, the following vulnerability has been resolved: xsk: tighten UMEM headroom validation to account for tailroom and min frame The current headroom validation in xdp_umem_reg() could leave us with insufficient space dedicated to even receive minimum-sized ethernet frame. Furthermore if multi-buffer would come to play then skb_shared_info stored at the end of XSK frame would be corrupted. HW typically works with 128-aligned sizes so let us provide this value as bare minimum. Multi-buffer setting is known later in the configuration process so besides accounting for 128 bytes, let us also take care of tailroom space upfront.

02

Engine v0.2.0

Risk summary

Local attackers with low privileges can trigger out-of-bounds writes in XDP socket UMEM buffers, potentially leading to kernel memory corruption and privilege escalation. Systems using XDP sockets for high-performance networking are at risk.

Affectednet/xdp/xdp_umem.c (XDP socket UMEM)

Vulnerability analysis

The vulnerability stems from insufficient validation of user-supplied headroom size in xdp_umem_reg(). The original validation only checked that headroom was less than chunk_size minus XDP_PACKET_HEADROOM, but failed to account for tailroom space needed for skb_shared_info structure and minimum frame alignment requirements. This allows malicious users to configure headroom values that leave insufficient space for packet data, causing out-of-bounds writes when packets are received. The fix tightens the validation by subtracting additional space for skb_shared_info (SKB_DATA_ALIGN(sizeof(struct skb_shared_info))) and a 128-byte minimum alignment requirement from the available chunk space.

03

BranchFixed inPatch commit
4.204.205f123bc278bf
5.105.10.258a03975beb9f6
5.155.15.2090ec4d3f6e693
5.55.51a6051cd7e3e
5.75.78769708add9e
6.16.1.1759ea6ba4f3195
6.126.12.83a315e022a72d
6.186.18.24
6.196.19.14
6.66.6.1366523bc1b40e6
mainline7.0