Look up another CVE · open CVE-2026-74613 in the interactive tracker
CVE-2026-74613
vsock/virtio: avoid refilling the RX queue after teardown
Published 2026-08-22 (2 months ago) by the Linux kernel CNA. Subsystem net/vmw_vsock. Debian urgency: not yet assigned.
What to do, per Debian release
Debian's own status for CVE-2026-74613 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source
| Release | Status | Version | What this means |
|---|---|---|---|
| Debian 12bookworm | fixedDLA-4777-1 · 2026-09-08 · text | 6.1.187-1 | Update the kernel and reboot. DLA-4777-1 shipped the fix on 2026-09-08, in 6.1.187-1. A running kernel keeps the old code until the machine restarts. |
| Debian 13trixie | fixedDSA-6466-1 · 2026-08-25 · text | 6.12.105-1 | Update the kernel and reboot. DSA-6466-1 shipped the fix on 2026-08-25, in 6.12.105-1. A running kernel keeps the old code until the machine restarts. |
| Debian 14forky | fixed | 7.1.9-1 | Update the kernel and reboot. Fixed in 7.1.9-1. A running kernel keeps the old code until the machine restarts. |
| Debian unstablesid | fixed | 7.1.9-1 | Update the kernel and reboot. Fixed in 7.1.9-1. A running kernel keeps the old code until the machine restarts. |
| Debian 12bookworm · linux-6.12 | fixedDLA-4788-1 · 2026-09-19 · text | 6.12.107-1~deb12u1 | Update the kernel and reboot. DLA-4788-1 shipped the fix on 2026-09-19, in 6.12.107-1~deb12u1. A running kernel keeps the old code until the machine restarts. |
The vulnerability
What the bug is
Commit b917507e5ad9 ("vsock/virtio: stop workers during the .remove()") made the RX worker jump to its common exit when rx_run is clear. That exit still refills the RX queue when the buffer count is low, so work queued across virtio_vsock_vqs_del() can add buffers after the virtqueues have been deleted. BUG: KASAN: slab-use-after-free in virtqueue_add_sgs Read of size 4 by task kworker/0:1 Workqueue: virtio_vsock virtio_transport_rx_work Call Trace: virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796) virtio_vsock_rx_fill (net/vmw_vsock/virtio_transport.c:332) virtio_transport_rx_work (net/vmw_vsock/virtio_transport.c:701) process_one_work (kernel/workqueue.c:3314) worker_thread (kernel/workqueue.c:3478) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) ... Freed by task 141: kfree (mm/slub.c:6566) vp_del_vq (drivers/virtio/virtio_pci_common.c:259) vp_del_vqs (drivers/virtio/virtio_pci_common.c:285) virtio_vsock_freeze (net/vmw_vsock/virtio_transport.c:912) virtio_device_freeze (drivers/virtio/virtio.c:658) virtio_pci_freeze (drivers/virtio/virtio_pci_common.c:601) pci_pm_freeze (drivers/pci/pci-driver.c:1098) device_suspend (drivers/base/power/main.c:1968) Kernel panic - not syncing: KASAN: panic_on_warn set ... Jump to a no-refill exit when rx_run is clear, leaving the normal exit to replenish a running queue.
Where it lives
The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.
net/vmw_vsock/virtio_transport.c
- What this is
- VIRTIO AND VHOST VSOCK DRIVERMAINTAINERS section matched on net/vmw_vsock/virtio_transport.c · kvm@vger.kernel.org · Maintained
- Kernel module
- vmw_vsock_virtio_transport
Check it on the machine
grep -wE 'CONFIG_VIRTIO_VSOCKETS|CONFIG_VSOCKETS' /boot/config-$(uname -r)Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.
lsmod | grep -w vmw_vsock_virtio_transportPrints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.
Show whether Debian builds this, per release
Debian builds this as a loadable module. Every release below compiles it as a module on every flavour, so whether the code is in the running kernel depends on whether that module is loaded.
- bookworm, trixie, forky, sid, bookworm · linux-6.12m
- m
- a loadable module on every flavour - check lsmod, can be blacklisted
- Build switches
- CONFIG_VIRTIO_VSOCKETS, CONFIG_VSOCKETS
- Reads as
- all on means the file is compiled; any one off means it is not.
From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages
Signals
- Published
- 2026-08-22 (2 months ago)source
- CVSS
- 7.8 high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hsource recompute it - Attack vector
- local (AV:L)source
- EPSS
- 0.13%, higher than 2.0% of all CVEssource
- CISA KEV
- not listedthe KEV catalogue
- Debian urgency
- not yet assignedsource
- Subsystem
- net/vmw_vsock
Upstream fixes
The versions the CNA records as introducing and fixing this, and the commit for each. source
| Introduced | Fixed in | Commit |
|---|---|---|
| 5.3 | 5.10.265 | a7658508f5fe |
| 5.3 | 5.15.216 | 1aa21e7c8702 |
| 5.3 | 6.1.183 | 4d37e3525cc3 |
| 5.3 | 6.6.152 | 9d80a04129a6 |
| 5.3 | 6.12.104 | a309b74e3fc0 |
| 5.3 | 6.18.45 | 38c7763fdc53 |
| 5.3 | 7.1.9 | e82a5faea2e3 |
| 5.3 | 7.2 | a31e0ad44469 |
Debian advisories
| Advisory | Date | Shipped to | Debian |
|---|---|---|---|
| DLA-4788-1 | 2026-09-19 | bookworm 6.12.107-1~deb12u1 | tracker |
| DLA-4777-1 | 2026-09-08 | bookworm 6.1.187-1 | tracker |
| DSA-6466-1 | 2026-08-25 | trixie 6.12.105-1 | tracker |
Why the CNA scored it this way
Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source
- AV:LAttack vector, local
- The bug is in the virtio-vsock guest driver reached via AF_VSOCK sockets and virtio virtqueue callbacks, not via remote network packets; kernel guidance classifies vsock as Local attack vector.
- AC:LAttack complexity, low
- An attacker can reliably queue virtio_transport_rx_work by maintaining active vsock traffic while virtqueues are torn down; this slab UAF race is attacker-influenced and does not depend on uncontrollable memory layout.
- PR:LPrivileges required, low
- Triggering the vulnerable RX refill path requires only normal unprivileged AF_VSOCK use to drive virtio RX work; teardown can coincide with host-driven suspend, migration, or device removal without guest root.
- UI:NUser interaction, none
- Exploitation requires no victim interaction beyond the attacker opening and using vsock sockets to generate virtio RX work during device teardown.
- S:UScope, unchanged
- The use-after-free corrupts guest-kernel virtio state and can panic the guest kernel; it does not directly cross a VM/host security boundary or enable guest-to-host escape.
- C:HConfidentiality impact, high
- KASAN reports a slab use-after-free read in virtqueue_add_sgs on freed virtqueue metadata; UAF of kernel heap objects can be leveraged for arbitrary kernel memory disclosure.
- I:HIntegrity impact, high
- Use-after-free of virtqueue structures during virtio_vsock_rx_fill enables heap corruption and can be developed into arbitrary kernel writes or control-flow hijack, not merely a benign read.
- A:HAvailability impact, high
- The reported reproducer triggers KASAN slab-use-after-free and kernel panic during virtio_vsock freeze/teardown; UAF in kernel workqueue context causes high availability impact.