CVE-2026-64552CWE-787

CVE-2026-64552

High · published July 28, 2026

CVSS v3.1
8.4
EPSS
0%
Percentile
3.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

virtio-net: fix len check in receive_big()

receive_big() bounds the device-announced length by

(big_packets_num_skbfrags + 1) * PAGE_SIZE. That is still too loose:

add_recvbuf_big() sets sg[1] to start at offset

sizeof(struct padded_vnet_hdr) into the first page, so the chain

actually carries hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) +

big_packets_num_skbfrags * PAGE_SIZE bytes -- 20 bytes less than the

check allows for the common hdr_len == 12 case.

A malicious virtio backend can announce a len in that gap. page_to_skb()

then walks one frag past the page chain, storing a NULL page->private

into skb_shinfo()->frags[MAX_SKB_FRAGS], which is both an out-of-bounds

write past the static frag array and a NULL frag handed up the rx path.

Bound len by the size add_recvbuf_big() actually advertised.

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00142 · 3.2th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2026-07-28T01:17Z
References (8)
EPSS history
Timeline
  • 27 JUL 20:10Z
    virtio-net: fix len check in receive_big()
    cvelistv5