CVE-2024-35981: virtio_net: Do not send RSS key if it is not supported
In the Linux kernel, the following vulnerability has been resolved:
virtio_net: Do not send RSS key if it is not supported
There is a bug when setting the RSS options in virtio_net that can break
the whole machine, getting the kernel into an infinite loop.
Running the following command in any QEMU virtual machine with virtionet
will reproduce this problem:
# ethtool -X eth0 hfunc toeplitz
This is how the problem happens:
1) ethtool_set_rxfh() calls virtnet_set_rxfh()
2) virtnet_set_rxfh() calls virtnet_commit_rss_command()
3) virtnet_commit_rss_command() populates 4 entries for the rss
scatter-gather
4) Since the command above does not have a key, then the last
scatter-gatter entry will be zeroed, since rss_key_size == 0.
sg_buf_size = vi->rss_key_size;
5) This buffer is passed to qemu, but qemu is not happy with a buffer
with zero length, and do the following in virtqueue_map_desc() (QEMU
function):
if (!sz) {
virtio_error(vdev, "virtio: zero sized buffers are not allowed");
6) virtio_error() (also QEMU function) set the device as broken
vdev->broken = true;
7) Qemu bails out, and do not repond this crazy kernel.
8) The kernel is waiting for the response to come back (function
virtnet_send_command())
9) The kernel is waiting doing the following :
while (!virtqueue_get_buf(vi->cvq, &tmp) &&
!virtqueue_is_broken(vi->cvq))
cpu_relax();
10) None of the following functions above is true, thus, the kernel
loops here forever. Keeping in mind that virtqueue_is_broken() does
not look at the qemu `vdev->broken`, so, it never realizes that the
vitio is broken at QEMU side.
Fix it by not sending RSS commands if the feature is not available in
the device.
Security readout for executives and security teams
Plain-English summary
CVE-2024-35981 is a Linux kernel virtio_net flaw that can hang a QEMU virtual machine. A network RSS configuration request can put the guest kernel into an infinite loop. The business impact is availability loss for affected Linux VMs using virtio networking, not data theft based on the provided sources.
Executive priority
Handle as a reliability and service-availability issue. Prioritize critical QEMU-based Linux VMs and shared virtualization environments. There is no sourced evidence of active exploitation, but the failure mode can freeze affected guest systems.
Technical view
In virtio_net, an RSS configuration path can send a zero-length RSS key buffer when the device lacks the feature. QEMU rejects the zero-sized buffer and marks the virtio device broken. The guest kernel then waits for a response it never receives, causing an infinite loop. The upstream fix avoids sending RSS commands when unsupported.
Likely exposure
Exposure is most relevant to Linux guests using virtio_net in QEMU. The source notes the issue can be reproduced in any QEMU VM with virtio_net. Administrative network configuration capability inside the guest is likely needed, but the source does not explicitly define privileges.
Exploitation context
No active exploitation is cited, and the CVE is not listed as KEV in the provided bundle. The described impact is denial of service inside an affected VM. The public description includes a reproduction scenario, so treat vulnerable virtualized Linux workloads as operationally exposed.
Researcher notes
The affected path is ethtool RSS configuration through virtnet_set_rxfh and virtnet_commit_rss_command. The root issue is a zero-length scatter-gather RSS key sent to QEMU when unsupported. Available source data lacks CVSS, CWE, and explicit distribution package status.
Mitigation direction
Update affected Linux kernels using distribution or kernel stable guidance.
Prioritize QEMU guests using virtio_net on multi-tenant or critical hosts.
Confirm fixes include the referenced stable kernel commits.
Restrict guest administrative network configuration access where practical.
Validation and detection
Inventory Linux VMs using virtio_net under QEMU.
Check kernel versions against vendor advisories and stable fixes.
Verify patched kernels contain the upstream virtio_net RSS fix.
Review monitoring for VM hangs tied to network configuration changes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-35981 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.