CVE-2026-74616: xdp: reject clones that overrun skb_shared_info tailroom
In the Linux kernel, the following vulnerability has been resolved:
xdp: reject clones that overrun skbsharedinfo tailroom
xdpfclone() clones broadcast copies into a single page and sets framesz to PAGESIZE. xdpbuildskbfromframe() later treats that page like a normal XDP frame and expects the usual skbsharedinfo tailroom at the end of the buffer.
The current check only rejects frames whose linear xdpframe header, headroom, and packet data exceed PAGESIZE. A source frame backed by a larger allocation can still satisfy that check while extending into the clone's required shared-info area. When such a clone is converted back into an skb, buildskbaround() places skbsharedinfo over live packet bytes and later writes can corrupt XDP return metadata.
Reject clones unless their linear area fits inside SKBWITHOVERHEAD(PAGESIZE), matching the tailroom requirement already enforced by the XDP-to-skb conversion path.