CVE-2026-81002
nicheKernel Memory Corruption via XDP Zero-Copy Frame Layout in Linux (cpumap Redirect)
A critical (CVSS 9.8) memory-corruption flaw exists in the Linux kernel's XDP subsystem: xdp_convert_zc_to_xdp_frame() clones AF_XDP zero-copy packets into an order-0 page while incorrectly advertising PAGE_SIZE as the frame size and recording zero headroom, so the resulting skb can overlap or run past the skb_shared_info area reserved at the page tail. When such a packet is redirected through a BPF cpumap, subsequent GRO processing (skb_gro_receive) performs out-of-bounds writes, as confirmed by a KASAN slab-out-of-bounds report and resulting kernel panic. A remote attacker who can deliver traffic to a host running an XDP program that combines zero-copy AF_XDP sockets with a cpumap redirect can corrupt kernel memory, causing denial of service via kernel panic and plausibly arbitrary code execution in kernel context. In practice this configuration is used mainly in high-performance packet-processing stacks (e.g., XDP-based load balancers, traffic filters, DDoS scrubbing), not on typical desktop or server deployments. No public proof-of-concept exists, the issue is not in CISA's KEV, and no exploitation in the wild has been reported; the fix limits the copied layout to SKB_WITH_OVERHEAD(PAGE_SIZE) and accounts for metadata length in frame headroom.
What to do: Apply your distribution's latest stable kernel updates containing the upstream fix, which clamps the copied frame to SKB_WITH_OVERHEAD(PAGE_SIZE) and includes metadata length in headroom; confirm the patched version with your distro, as specific fixed version numbers were not listed in this advisory. If immediate patching is not possible, reconfigure XDP programs to avoid redirecting zero-copy AF_XDP frames through cpumap (e.g., use copy mode or an alternate redirect target). Watch for KASAN splats or panics originating from cpu_map_kthread_run/skb_gro_receive as evidence of trigger attempts.
| Linux kernel | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: xdp: fix zero-copy frame layout xdp_convert_zc_to_xdp_frame() clones an XSK packet into an order-0 page and advertises PAGE_SIZE as its frame size. It allows the copied frame to occupy the page tail needed by skb_shared_info and records zero headroom even when metadata separates the frame header from packet data. An AF_XDP zero-copy packet redirected through cpumap can therefore make the skb overlap skb_shared_info or place it beyond the allocated page. Limit the copied layout to SKB_WITH_OVERHEAD(PAGE_SIZE) and include the metadata length in frame headroom. Redirect callers already handle a NULL conversion result. BUG: KASAN: slab-out-of-bounds in skb_gro_receive Write of size 4 at addr ffff88800cf37004 by task cpumap/1/map:1/146 Call Trace: skb_gro_receive (net/core/gro.c:174) udp_gro_receive (net/ipv4/udp_offload.c:812) inet_gro_receive (net/ipv4/af_inet.c:1539) dev_gro_receive (net/core/gro.c:515) gro_receive_skb (net/core/gro.c:633) cpu_map_kthread_run (kernel/bpf/cpumap.c:395) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:164) ret_from_fork_asm (arch/x86/entry/entry_64.S:255) Kernel panic - not syncing: KASAN: panic_on_warn set ...
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.