In the Linux kernel, the following vulnerability has been resolved:
virtio_pci: fix vq info pointer lookup via wrong index
Unbinding a virtio balloon device:
echo virtio0 > /sys/bus/virtio/drivers/virtio_balloon/unbind
triggers a NULL pointer dereference. The dmesg says:
BUG: kernel NULL pointer dereference, address: 0000000000000008 [...] RIP: 0010:__list_del_entry_valid_or_report+0x5/0xf0 Call Trace: <TASK> vp_del_vqs+0x121/0x230 remove_common+0x135/0x150 virtballoon_remove+0xee/0x100 virtio_dev_remove+0x3b/0x80 device_release_driver_internal+0x187/0x2c0 unbind_store+0xb9/0xe0 kernfs_fop_write_iter.llvm.11660790530567441834+0xf6/0x180 vfs_write+0x2a9/0x3b0 ksys_write+0x5c/0xd0 do_syscall_64+0x54/0x230 entry_SYSCALL_64_after_hwframe+0x29/0x31 [...] </TASK>
The virtio_balloon device registers 5 queues (inflate, deflate, stats, free_page, reporting) but only the first two are unconditional. The stats, free_page and reporting queues are each conditional on their respective feature bits. When any of these features are absent, the corresponding vqs_info entry has name == NULL, creating holes in the array.
The root cause is an indexing mismatch introduced when vq info storage was changed to be passed as an argument. vp_find_vqs_msix() and vp_find_vqs_intx() store the info pointer at vp_dev->vqs[i], where 'i' is the caller's sparse array index. However, the virtqueue itself gets vq->index assigned from queue_idx, a dense index that skips NULL entries. When holes exist, 'i' and queue_idx diverge. Later, vp_del_vqs() looks up info via vp_dev->vqs[vq->index] using the dense index into the sparsely-populated array, and hits NULL.
Fix this by storing info at vp_dev->vqs[queue_idx] instead of vp_dev->vqs[i], so the store index matches the lookup index (vq->index). Apply the fix to both the MSIX and INTX paths.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-modules-extraUpgrade kernel6.18-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.18-toolsUpgrade kernel6.18-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade perf6.18-debuginfoUpgrade kernel6.18-headersUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12Upgrade bpftool6.18-debuginfoUpgrade kernel6.18-modules-extraUpgrade kernel-livepatch-6.18.39-79.141Upgrade perf6.12-debuginfoUpgrade kernel6.12-toolsUpgrade bpftool6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.18-tools-debuginfoUpgrade python3-perf6.18-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade python3-perf6.18Upgrade perf6.18Upgrade kernel6.18-debuginfo-common-x86_64Upgrade microvm-kernel6.18Upgrade kernel-livepatch-6.12.100-125.179Upgrade kernel6.12-develUpgrade kernel6.18-develUpgrade kernel6.12-headersUpgrade kernel6.12-debuginfoUpgrade kernel6.18Upgrade kernel6.18-tools-develUpgrade kernel6.12-tools-develUpgrade python3-perf6.12Upgrade perf6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade bpftool6.18Upgrade kernel6.18-modules-extra-common | Aug 18, 2026 | Jul 25, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.12 | Jul 28, 2026 | Jul 28, 2026 |
| Ubuntu | — | Upgrade linux-image-ibmUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-raspiUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-nvidia-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-gcp-64kUpgrade linux-image-gke-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-aws-7.0Upgrade linux-image-gke-64kUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-generic-64kUpgrade linux-image-aws-64k-7.0Upgrade linux-image-oem-26.04aUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-bosUpgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-oem-26.04Upgrade linux-image-gke-64k-7.0Upgrade linux-image-oem-7.0Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-realtime-64kUpgrade linux-image-gkeUpgrade linux-image-awsUpgrade linux-image-gcp-7.0Upgrade linux-image-aws-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-generic-64k-7.0Upgrade linux-image-oem-26.04bUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-virtualUpgrade linux-image-raspi-realtimeUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-raspi-7.0Upgrade linux-image-gcpUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-genericUpgrade linux-image-realtimeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-7.0.0-31-genericUpgrade linux-image-generic-7.0Upgrade linux-image-virtual-7.0 | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 31, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub