Description
In the Linux kernel, the following vulnerability has been resolved:

virtio: rtc: tear down old virtqueues before restore

virtio_device_restore() resets the device and restores the negotiated
features before calling ->restore(). viortc_freeze() intentionally
leaves the existing virtqueues in place so the alarm queue can still
wake the system, but viortc_restore() immediately calls
viortc_init_vqs() without first deleting those old queues.

If virtqueue reinitialization fails on virtio-pci, the transport error
path can run vp_del_vqs() against a newly allocated vp_dev->vqs array
while vdev->vqs still contains the old virtqueues. vp_del_vqs() then
looks up queue state through the new array and can dereference a NULL
info pointer in vp_del_vq(), crashing the guest kernel during restore.

This can also happen during a non-faulty reinitialization, when one of
the vp_find_vqs_msix() attempts is unsuccessful before a later attempt
would succeed.

Delete the stale virtqueues before rebuilding them. If restore fails
before virtio_device_ready(), reuse the remove path to stop the device.
Once the device is ready, return errors directly instead of deleting the
virtqueues again.
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An error in the Linux kernel’s virtio tiny radio clock (RTC) driver allows the kernel to attempt to reinitialize virtqueues without first deleting the old ones. This results in a null pointer dereference (CWE‑476) during restoration of the device, crashing the guest kernel. The crash provides a denial of service to the virtual machine by forcing a reboot or halt of the operating system. The weakness arises from improper management of device resources.

Affected Systems

The vulnerable code path is part of the virtio driver that handles RTC devices. It applies to all Linux kernels that implement virtio‑RTC, which is the default on most mainstream distributions. No specific version list is provided, so any kernel before the fix carries the flaw. Linux is the sole vendor, and the issue resides within the core kernel code rather than a particular distribution or patch level.

Risk and Exploitability

The flaw leads only to a kernel crash; it is not a privilege escalation or remote code execution vulnerability. However, a crash can disrupt services and availability. The CVSS score of 7.8 indicates a high severity, while the EPSS score is less than 1%, indicating a very low exploitation probability. The vulnerability is not listed in CISA KEV, so current exploitation probability remains uncertain. Attackers would need to trigger a device restore, which is typically performed through the virtualization layer or a guest reboot. The lack of a publicly available exploit and the requirement of a restoration event reduce the likelihood but do not eliminate risk, making timely patching advisable.

Generated by OpenCVE AI on August 17, 2026 at 13:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that contains the virtio‑RTC fix.
  • If an immediate kernel update is not possible, disable or remove the virtio‑RTC device from the virtual machine configuration to avoid triggering the restore path.
  • As a temporary measure, reboot the guest with the –k no‑restore option if supported, or otherwise ensure that the VM does not attempt to restore the virtio device until the patch is applied.

Generated by OpenCVE AI on August 17, 2026 at 13:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 19 Aug 2026 12:15:00 +0000


Mon, 17 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Mon, 17 Aug 2026 10:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Sat, 15 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: virtio: rtc: tear down old virtqueues before restore virtio_device_restore() resets the device and restores the negotiated features before calling ->restore(). viortc_freeze() intentionally leaves the existing virtqueues in place so the alarm queue can still wake the system, but viortc_restore() immediately calls viortc_init_vqs() without first deleting those old queues. If virtqueue reinitialization fails on virtio-pci, the transport error path can run vp_del_vqs() against a newly allocated vp_dev->vqs array while vdev->vqs still contains the old virtqueues. vp_del_vqs() then looks up queue state through the new array and can dereference a NULL info pointer in vp_del_vq(), crashing the guest kernel during restore. This can also happen during a non-faulty reinitialization, when one of the vp_find_vqs_msix() attempts is unsuccessful before a later attempt would succeed. Delete the stale virtqueues before rebuilding them. If restore fails before virtio_device_ready(), reuse the remove path to stop the device. Once the device is ready, return errors directly instead of deleting the virtqueues again.
Title virtio: rtc: tear down old virtqueues before restore
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:45:43.827Z

Reserved: 2026-08-15T05:44:03.883Z

Link: CVE-2026-74311

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:31.173

Modified: 2026-08-17T06:19:25.340

Link: CVE-2026-74311

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74311 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-17T14:00:21Z

Weaknesses