CVE-2025-40292: virtio-net: fix received length check in big packets
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 MAXSKBFRAGS PAGESIZE anymore but depends on negotiated MTU. The number of allocated frags for big packets is stored in vi->bigpacketsnumskbfrags.
Because the host announced buffer length can be malicious (e.g. the host vhostnet driver's getrxbufs is modified to announce incorrect length), we need a check in virtionet 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Linux kernel vhost_net/virtio-netto a version that resolves this vulnerability.Patch virtio-net: fix received length check in big packets
Event History
Frequently Asked Questions
What is the severity of CVE-2025-40292?
CVE-2025-40292 is classified as a moderate severity vulnerability due to potential data corruption issues.
How do I fix CVE-2025-40292?
To fix CVE-2025-40292, update to the latest version of the Linux kernel that includes the patch for this vulnerability.
What systems are affected by CVE-2025-40292?
CVE-2025-40292 affects systems running the Linux kernel, specifically those utilizing virtio-net.
What impact does CVE-2025-40292 have on system security?
CVE-2025-40292 can lead to incorrect packet handling, potentially resulting in data loss or application crashes.
When was CVE-2025-40292 discovered?
CVE-2025-40292 was addressed in the Linux kernel after the issue was identified in recent commits.