CVE-2025-38413

virtio-net: xsk: rx: fix the frame's length check

MEDIUM
5.5
CVSS Score
Published: July 25, 2025 at 01:20 PM UTC
Updated: August 5, 2026 at 12:44 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: virtio-net: xsk: rx: fix the frame's length check When calling buf_to_xdp, the len argument is the frame data's length without virtio header's length (vi->hdr_len). We check that len with xsk_pool_get_rx_frame_size() + vi->hdr_len to ensure the provided len does not larger than the allocated chunk size. The additional vi->hdr_len is because in virtnet_add_recvbuf_xsk, we use part of XDP_PACKET_HEADROOM for virtio header and ask the vhost to start placing data from hard_start + XDP_PACKET_HEADROOM - vi->hdr_len not hard_start + XDP_PACKET_HEADROOM But the first buffer has virtio_header, so the maximum frame's length in the first buffer can only be xsk_pool_get_rx_frame_size() not xsk_pool_get_rx_frame_size() + vi->hdr_len like in the current check. This commit adds an additional argument to buf_to_xdp differentiate between the first buffer and other ones to correctly calculate the maximum frame's length.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.11 ≤ v < 6.12.376.11 ≤ v < 6.15.66.11 ≤ v < 6.166.13 ≤ v < 6.15.66.16 rc16.16 rc26.16 rc36.16 rc4a4e7ba7027012f009f22a68bcfde670f9298d3a4
Vendor states this is fixed in 5177373c31318c3c6a190383bfd232e6cf565c36 (fixed)
Vendor states this is fixed in 6013bb6bc24c2cac3f45b37a15b71b232a5b00ff (fixed)
Vendor states this is fixed in 892f6ed9a4a38bb3360fdff091b9241cfa105b61 (fixed)
Vendor states this is fixed in 6.11 (unaffected)
Vendor states this is fixed in 6.12.37 (unaffected)
Vendor states this is fixed in 6.15.6 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)

References (3)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/5177373c31318c3c6a190383bfd232e6cf565c36
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/6013bb6bc24c2cac3f45b37a15b71b232a5b00ff
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/892f6ed9a4a38bb3360fdff091b9241cfa105b61

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card