← Terug naar overzicht

CVE-2026-13212 describes a critical vulnerability in the Zephyr RTOS virtio driver where the descriptor-chain head ID written by a virtio device into the used ring is not validated before being used as an array index. In virtio_isr() within drivers/virtio/virtio_common.c, the unchecked 16-bit ID is used to index recv_cbs[] and desc[], both sized to vq->num entries. A malicious or compromised virtio backend (hypervisor or hardware device over PCI/MMIO) can supply an out-of-bounds ID, causing an out-of-bounds read of a function pointer and argument from heap memory. The driver then calls the attacker-controlled function pointer in interrupt context, enabling a control-flow hijack primitive leading to arbitrary code execution or a reliable crash. No guest privileges or user interaction are required. The fix adds a bounds check rejecting any used-ring ID >= vq->num before indexing or invoking callbacks. Affected configurations are those built with CONFIG_VIRTIO using PCI or MMIO transport.

Affected products

  • PCI/MMIO transport)
  • Zephyr RTOS
  • Zephyr virtio driver (CONFIG_VIRTIO

Related CVE's

  • CVE-2026-13212

Categories

  • Cloud & Virtualization
  • Mobile & IoT
  • Zero-Day Vulnerabilities