CVE-2026-74616 Overview
CVE-2026-74616 is a Linux kernel vulnerability in the eXpress Data Path (XDP) subsystem. The flaw resides in xdpf_clone(), which clones broadcast copies into a single page and sets frame_sz to PAGE_SIZE. When __xdp_build_skb_from_frame() later converts the clone into a socket buffer (skb), it expects skb_shared_info tailroom at the end of the buffer. A source frame backed by a larger allocation can pass the existing size check while extending into the clone's required shared-info region. The result is memory corruption of XDP return metadata after build_skb_around() places skb_shared_info over live packet bytes.
Critical Impact
Remote attackers can trigger kernel memory corruption over the network without authentication or user interaction, threatening confidentiality, integrity, and availability of affected Linux systems.
Affected Products
- Linux kernel (upstream) versions that include xdpf_clone() broadcast redirect logic
- Linux stable kernel branches receiving the referenced backports
- Linux distributions shipping unpatched kernels with XDP redirect enabled
Discovery Timeline
- 2026-08-22 - CVE-2026-74616 published to NVD
- 2026-08-25 - Last updated in NVD database
Technical Details for CVE-2026-74616
Vulnerability Analysis
The vulnerability is a kernel memory corruption flaw in the XDP-to-skb conversion path. XDP frames carry metadata in skb_shared_info at the tail of the underlying buffer. xdpf_clone() uses a single page to hold cloned broadcast copies and advertises frame_sz = PAGE_SIZE. Downstream, __xdp_build_skb_from_frame() calls build_skb_around(), which positions skb_shared_info at the buffer tail based on frame_sz.
The pre-fix validation only rejected frames when the linear xdp_frame header, headroom, and packet data collectively exceeded PAGE_SIZE. This check missed clones sourced from larger allocations whose linear area still overlaps the tailroom region required for skb_shared_info. Because the attack vector is network-based and requires no privileges or user interaction, an unauthenticated remote attacker able to induce XDP broadcast redirect processing can drive the kernel into corrupting return metadata.
Root Cause
The root cause is missing enforcement of the SKB_WITH_OVERHEAD(PAGE_SIZE) bound on the linear area of cloned XDP frames. xdpf_clone() did not reject clones whose linear area extended into the shared-info tailroom, allowing build_skb_around() to overlay skb_shared_info on live packet bytes. Subsequent writes to skb_shared_info fields corrupt adjacent kernel data, classifying this as an out-of-bounds write in kernel space.
Attack Vector
Exploitation requires the target system to run an XDP program that performs broadcast redirects via bpf_redirect_map() with BPF_F_BROADCAST, and to receive attacker-influenced network packets sized to trigger the boundary condition. No authentication is required. Successful exploitation corrupts XDP return metadata, which can lead to denial of service or further kernel primitive abuse.
No public proof-of-concept exploit is currently available. Technical remediation details are documented across multiple stable branches. See the Kernel Git Commit ba13763d and related patches for the fix implementation.
Detection Methods for CVE-2026-74616
Indicators of Compromise
- Unexplained kernel panics or WARN splats referencing build_skb_around, xdpf_clone, or __xdp_build_skb_from_frame.
- Kernel oops messages that include XDP redirect map or broadcast flag call traces.
- Sudden interface instability on hosts running XDP programs with BPF_F_BROADCAST semantics.
Detection Strategies
- Inventory hosts running kernels older than the patched stable releases and correlate with any loaded XDP programs.
- Audit eBPF program loads (bpf() syscalls) and identify programs using redirect maps with broadcast flags.
- Alert on kernel ring-buffer messages containing skb_shared_info corruption signatures or XDP frame validation failures.
Monitoring Recommendations
- Ship dmesg and /var/log/kern.log to a centralized logging pipeline and monitor for XDP-related stack traces.
- Track kernel version drift across fleet endpoints to identify unpatched systems.
- Monitor NIC drivers exposing native XDP (for example, mlx5, i40e, ice, bnxt) for abnormal frame drop or restart counters.
How to Mitigate CVE-2026-74616
Immediate Actions Required
- Apply the upstream Linux kernel patch that enforces SKB_WITH_OVERHEAD(PAGE_SIZE) on cloned XDP linear areas.
- Update to a stable kernel release containing one of the referenced fix commits and reboot affected systems.
- Restrict CAP_BPF/CAP_NET_ADMIN to trusted operators to reduce arbitrary XDP program loading risk during patch rollout.
Patch Information
The fix rejects XDP clones whose linear area does not fit inside SKB_WITH_OVERHEAD(PAGE_SIZE), matching the tailroom requirement enforced by the XDP-to-skb conversion path. Patch commits are available across multiple stable branches, including Kernel Git Commit 58408982, Kernel Git Commit 685edea2, Kernel Git Commit e48e8edb, Kernel Git Commit ef4b7c70, Kernel Git Commit f463b6f4, and Kernel Git Commit fab820f1.
Workarounds
- Unload XDP programs that use bpf_redirect_map() with BPF_F_BROADCAST until kernels are patched.
- Disable or detach native XDP hooks on internet-exposed interfaces where broadcast redirect is not required.
- Constrain untrusted workloads' ability to load eBPF programs via seccomp, LSM policies, or kernel.unprivileged_bpf_disabled=1.
# Verify kernel version and disable unprivileged eBPF program loading
uname -r
sysctl -w kernel.unprivileged_bpf_disabled=1
echo "kernel.unprivileged_bpf_disabled=1" | sudo tee -a /etc/sysctl.d/90-bpf.conf
# List currently attached XDP programs per interface
ip -details link show | grep -E 'xdp|prog'
# Detach an XDP program from an interface (replace eth0)
ip link set dev eth0 xdp off
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

