CVE-2026-97995 virtio_console: do not free control-out buffers on remove

Not scored Published Updated

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.

Is CVE-2026-97995 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free