VDB

CVE-2026-31700

CVE-2026-31700 PUBLISHED

In the Linux kernel, the following vulnerability has been resolved: net/packet: fix TOCTOU race on mmap'd vnet_hdr in tpacket_snd() In tpacket_snd(), when PACKET_VNET_HDR is enabled, vnet_hdr points directly into the mmap'd TX ring buffer shared with userspace. The kernel validates the header via __packet_snd_vnet_parse() but then re-reads all fields later in virtio_net_hdr_to_skb(). A concurrent userspace thread can modify the vnet_hdr fields between validation and use, bypassing all safety checks. The non-TPACKET path (packet_snd()) already correctly copies vnet_hdr to a stack-local variable. All other vnet_hdr consumers in the kernel (tun.c, tap.c, virtio_net.c) also use stack copies. The TPACKET TX path is the only caller of virtio_net_hdr_to_skb() that reads directly from user-controlled shared memory. Fix this by copying vnet_hdr from the mmap'd ring buffer to a stack-local variable before validation and use, consistent with the approach used in packet_snd() and all other callers.

EPSS 0.01% · 1.9th percentile

Risk Scores

EPSS Score
0.01%
1.9th percentile

Affected Products

VendorProductVersions
linuxlinux_kernel4.6, 4.6, 4.6
LinuxLinux1d036d25e5609ba73fee6a88db01c306b140d512, 1d036d25e5609ba73fee6a88db01c306b140d512, 1d036d25e5609ba73fee6a88db01c306b140d512

Timeline

  • May 1, 2026 CVE Published
  • May 6, 2026 CVE Updated
  • May 18, 2026 EPSS Score
  • May 19, 2026 EPSS Score
  • May 20, 2026 EPSS Score
  • May 21, 2026 EPSS Score
  • May 22, 2026 EPSS Score
  • May 23, 2026 EPSS Score
  • May 24, 2026 EPSS Score
  • May 25, 2026 EPSS Score
  • May 26, 2026 EPSS Score
  • May 27, 2026 EPSS Score

References

…and 72 more

Open in Interactive Console →
$ Console Community · 100/wk Open console ›