CVE-2026-64552

virtio-net: fix len check in receive_big()

State
Published
Severity
8.4 High
Published
Jul 27, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.18.4 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 82f9028e83944a9eee5229cbc6fee9be1de8a62d to before f9451d0fd5ba635dcabb49bfe456a6db734a8986Affected
  • 946dec89c41726b94d31147ec528b96af0be1b5a to before 38e94d63e29f4a5c6eae87ee2c02101aaa321502Affected
  • 82fe78065450d2d07f36a22e2b6b44955cf5ca5b to before fbeb65154583879d556ea94cb2f15888e9470f3dAffected
  • 0c716703965ffc5ef4311b65cb5d84a703784717 to before c7fc9adf4e006155f7f2aeda052fbcde25cdcc49Affected
  • 0c716703965ffc5ef4311b65cb5d84a703784717 to before e6b8463b7d791f3886d7584259d6e9f06a69f12eAffected
  • 0c716703965ffc5ef4311b65cb5d84a703784717 to before 9e5ad06ea826322ce8c58b4a68442a96f600c3c4Affected
  • 3e9d89f2ecd3636bd4cbdfd0b2dfdaf58f9882e2Affected
  • 6.1.159 to before 6.1.178Affected
  • 6.6.117 to before 6.6.145Affected
  • 6.12.58 to before 6.12.97Affected
  • 6.17.8 to before 6.18Affected
LinuxLinux
  • 6.18Affected
  • before 6.18Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.