CVE-2025-40292
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
08/12/2025
Last modified:
08/12/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
virtio-net: fix received length check in big packets<br />
<br />
Since commit 4959aebba8c0 ("virtio-net: use mtu size as buffer length<br />
for big packets"), when guest gso is off, the allocated size for big<br />
packets is not MAX_SKB_FRAGS * PAGE_SIZE anymore but depends on<br />
negotiated MTU. The number of allocated frags for big packets is stored<br />
in vi->big_packets_num_skbfrags.<br />
<br />
Because the host announced buffer length can be malicious (e.g. the host<br />
vhost_net driver&#39;s get_rx_bufs is modified to announce incorrect<br />
length), we need a check in virtio_net receive path. Currently, the<br />
check is not adapted to the new change which can lead to NULL page<br />
pointer dereference in the below while loop when receiving length that<br />
is larger than the allocated one.<br />
<br />
This commit fixes the received length check corresponding to the new<br />
change.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0c716703965ffc5ef4311b65cb5d84a703784717
- https://git.kernel.org/stable/c/3e9d89f2ecd3636bd4cbdfd0b2dfdaf58f9882e2
- https://git.kernel.org/stable/c/82f9028e83944a9eee5229cbc6fee9be1de8a62d
- https://git.kernel.org/stable/c/82fe78065450d2d07f36a22e2b6b44955cf5ca5b
- https://git.kernel.org/stable/c/946dec89c41726b94d31147ec528b96af0be1b5a



