
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-64552 is an out-of-bounds write vulnerability in the Linux kernel's virtio-net driver, specifically in the receive_big() function's packet length validation logic. The flaw allows a malicious virtio backend to trigger a NULL pointer write past the static fragment array in kernel memory, potentially leading to memory corruption and local code execution. It was published on July 27, 2026, and affects Linux kernel versions 6.1.159–6.1.177, 6.6.117–6.6.144, 6.12.58–6.12.96, and 6.17.8–6.17.x, among other git-tracked ranges. The CVSS estimate is Medium severity; the EPSS score is 0.0 (GitHub Advisory, Feedly).
The root cause is an off-by-one bounds check error (CWE-787: Out-of-Bounds Write) in receive_big() within the Linux kernel's virtio-net driver. The function bounds the device-announced packet length by (big_packets_num_skbfrags + 1) * PAGE_SIZE, but add_recvbuf_big() places sg[1] at an offset of sizeof(struct padded_vnet_hdr) into the first page, meaning the actual buffer capacity is hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE — approximately 20 bytes less than the check permits when hdr_len == 12. A malicious virtio backend can announce a length value within this 20-byte gap, causing page_to_skb() to walk one fragment past the end of the page chain and store a NULL page->private value into skb_shinfo()->frags[MAX_SKB_FRAGS], which is both an out-of-bounds write past the static frag array and a NULL frag propagated up the receive path (GitHub Advisory, Feedly).
Successful exploitation can result in kernel memory corruption due to the out-of-bounds NULL write into skb_shinfo()->frags[MAX_SKB_FRAGS], which may lead to local code execution with kernel privileges. The NULL frag propagated up the receive path can also cause unpredictable kernel behavior, including system crashes (denial of service). Exploitation is constrained to attackers with local control over a virtio backend, limiting the attack surface primarily to virtualized environments where a guest or co-tenant can manipulate the backend (Feedly, GitHub Advisory).
big_packets_num_skbfrags) is active.hdr_len + (PAGE_SIZE - sizeof(padded_vnet_hdr)) + big_packets_num_skbfrags * PAGE_SIZE) and the overly permissive bound ((big_packets_num_skbfrags + 1) * PAGE_SIZE) used by receive_big().receive_big() accepts the announced length; page_to_skb() walks one fragment past the allocated page chain, writing a NULL page->private value into skb_shinfo()->frags[MAX_SKB_FRAGS] — an out-of-bounds location in kernel memory.virtio_net, receive_big, page_to_skb, or skb_shinfo in /var/log/kern.log or dmesg output.big_packets_num_skbfrags setting.Update the Linux kernel to a patched version: 6.1.178 or later (for the 6.1.x branch), 6.6.145 or later (6.6.x), 6.12.97 or later (6.12.x), 6.18.40 or later (6.18.x), 7.1.5 or later (7.1.x), or 7.2-rc1 and later. As a workaround where patching is not immediately possible, restrict access to virtio backends to trusted sources only, since exploitation requires control of the device backend. In cloud or multi-tenant environments, ensure hypervisor-level isolation prevents untrusted guests from manipulating virtio backend behavior (GitHub Advisory, Feedly).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."