CVE-2026-46321: tun: free page on short-frame rejection in tun_xdp_one()
Published Jun 9, 2026
·
Updated
In the Linux kernel, the following vulnerability has been resolved:
tun: free page on short-frame rejection in tunxdpone()
tunxdpone() returns -EINVAL on a frame shorter than ETHHLEN without
freeing the page that vhostnetbuildxdp() allocated for it.
tunsendmsg() discards that -EINVAL and still returns totallen, so
vhosttxbatch() takes the success path and never frees the page; each
short frame in a batch leaks one page-frag chunk.
A local process that can open /dev/net/tun and /dev/vhost-net can hit
this path: it attaches a tun/tap device as the vhost-net backend and
feeds TX descriptors whose length minus the virtio-net header is below
ETHHLEN. Each kick leaks the page-frag chunks for that batch, and a
tight submission loop exhausts host memory and triggers an OOM panic.
Free the page before returning -EINVAL, matching the XDP-program error
path in the same function.
SecAlerts Pty Ltd. 132 Wickham Terrace Fortitude Valley, QLD 4006, Australia info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.