{"id":7254,"date":"2026-09-04T18:49:29","date_gmt":"2026-09-04T10:49:29","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74311"},"modified":"2026-09-04T18:49:29","modified_gmt":"2026-09-04T10:49:29","slug":"cve-2026-74311","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74311","title":{"rendered":"CVE-2026-74311 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nvirtio: rtc: tear dow"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>virtio: rtc: tear down old virtqueues before restore<\/p>\n<p>virtio_device_restore() resets the device and restores the negotiated<br \/>\nfeatures before calling -&gt;restore(). viortc_freeze() intentionally<br \/>\nleaves the existing virtqueues in place so the alarm queue can still<br \/>\nwake the system, but viortc_restore() immediately calls<br \/>\nviortc_init_vqs() without first deleting those old queues.<\/p>\n<p>If virtqueue reinitialization fails on virtio-pci, the transport error<br \/>\npath can run vp_del_vqs() against a newly allocated vp_dev-&gt;vqs array<br \/>\nwhile vdev-&gt;vqs still contains the old virtqueues. vp_del_vqs() then<br \/>\nlooks up queue state through the new array and can dereference a NULL<br \/>\ninfo pointer in vp_del_vq(), crashing the guest kernel during restore.<\/p>\n<p>This can also happen during a non-faulty reinitialization, when one of<br \/>\nthe vp_find_vqs_msix() attempts is unsuccessful before a later attempt<br \/>\nwould succeed.<\/p>\n<p>Delete the stale virtqueues before rebuilding them. If restore fails<br \/>\nbefore virtio_device_ready(), reuse the remove path to stop the device.<br \/>\nOnce the device is ready, return errors directly instead of deleting the<br \/>\nvirtqueues again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>virtio: rtc: tear down old virtqueues before restore<\/p>\n<p>virtio_device_restore() resets the device and restores the negotiated<br \/>\nfeature<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7254","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}