CVE-2025-38413
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
25/07/2025
Last modified:
19/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
virtio-net: xsk: rx: fix the frame&#39;s length check<br />
<br />
When calling buf_to_xdp, the len argument is the frame data&#39;s length<br />
without virtio header&#39;s length (vi->hdr_len). We check that len with<br />
<br />
xsk_pool_get_rx_frame_size() + vi->hdr_len<br />
<br />
to ensure the provided len does not larger than the allocated chunk<br />
size. The additional vi->hdr_len is because in virtnet_add_recvbuf_xsk,<br />
we use part of XDP_PACKET_HEADROOM for virtio header and ask the vhost<br />
to start placing data from<br />
<br />
hard_start + XDP_PACKET_HEADROOM - vi->hdr_len<br />
not<br />
hard_start + XDP_PACKET_HEADROOM<br />
<br />
But the first buffer has virtio_header, so the maximum frame&#39;s length in<br />
the first buffer can only be<br />
<br />
xsk_pool_get_rx_frame_size()<br />
not<br />
xsk_pool_get_rx_frame_size() + vi->hdr_len<br />
<br />
like in the current check.<br />
<br />
This commit adds an additional argument to buf_to_xdp differentiate<br />
between the first buffer and other ones to correctly calculate the maximum<br />
frame&#39;s length.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (including) | 6.12.37 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.15.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.16:rc4:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



