CVE-2026-97995 virtio_console: do not free control-out buffers on remove
A use-after-free vulnerability in the Linux kernel virtio_console driver allows local attackers to cause a denial of service or potentially execute code during device removal.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-97995?
CVE-2026-97995 is an use after free vulnerability in Linux, published on 25 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
virtio_console: do not free control-out buffers on remove
__send_control_msg() publishes &portdev->cpkt as the control-out virtqueue cookie. remove_vqs() walks every virtqueue and passes leftover cookies to free_buf(), which treats them as struct port_buffer and reads sgpages.
If a control message is still on c_ovq when the device is unbound, free_buf() reads past the ports_device object.
KASAN reported slab-out-of-bounds in free_buf():
free_buf remove_vqs virtcons_remove unbind_store
The object was the ports_device allocated in virtcons_probe().
Drain c_ovq without freeing. The packet lives in portdev and is released with it.
Which versions are affected by CVE-2026-97995?
How do I fix CVE-2026-97995?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-97995 being exploited?
There is no known exploitation of CVE-2026-97995 in the wild and no public exploit code.
Sources
Also known as AZL-104289, BELL-CVE-2026-97995, DEBIAN-CVE-2026-97995, GHSA-64xh-4w8v-x8v5, UBUNTU-CVE-2026-97995.