CVE-2025-40292 virtio-net: fix received length check in big packets
A malicious host can trigger a NULL pointer dereference in the Linux kernel virtio-net driver, causing a denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-40292?
CVE-2025-40292 is a high-severity vulnerability in Linux, published on 8 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
virtio-net: fix received length check in big packets
Since commit 4959aebba8c0 ("virtio-net: use mtu size as buffer length for big packets"), when guest gso is off, the allocated size for big packets is not MAX_SKB_FRAGS * PAGE_SIZE anymore but depends on negotiated MTU. The number of allocated frags for big packets is stored in vi->big_packets_num_skbfrags.
Because the host announced buffer length can be malicious (e.g. the host vhost_net driver's get_rx_bufs is modified to announce incorrect length), we need a check in virtio_net receive path. Currently, the check is not adapted to the new change which can lead to NULL page pointer dereference in the below while loop when receiving length that is larger than the allocated one.
This commit fixes the received length check corresponding to the new change.
Which versions are affected by CVE-2025-40292?
How do I fix CVE-2025-40292?
Apply the vendor's patch.
Is CVE-2025-40292 being exploited?
There is no known exploitation of CVE-2025-40292 in the wild and no public exploit code.
Sources
Also known as BELL-CVE-2025-40292, DEBIAN-CVE-2025-40292, GHSA-3mv7-84x4-8439, ROOT-OS-DEBIAN-12-CVE-2025-40292, ROOT-OS-DEBIAN-13-CVE-2025-40292, ROOT-OS-UBUNTU-2404-CVE-2025-40292 and 1 more.