cbcvebase.
CVE-2026-23198
published 2026-02-14

CVE-2026-23198: In the Linux kernel, the following vulnerability has been resolved: KVM: Don't clobber irqfd routing type when deassigning irqfd When deassigning a KVM_IRQFD…

PriorityP422medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.12%
2.6th percentile
In the Linux kernel, the following vulnerability has been resolved: KVM: Don't clobber irqfd routing type when deassigning irqfd When deassigning a KVM_IRQFD, don't clobber the irqfd's copy of the IRQ's routing entry as doing so breaks kvm_arch_irq_bypass_del_producer() on x86 and arm64, which explicitly look for KVM_IRQ_ROUTING_MSI. Instead, to handle a concurrent routing update, verify that the irqfd is still active before consuming the routing information. As evidenced by the x86 and arm64 bugs, and another bug in kvm_arch_update_irqfd_routing() (see below), clobbering the entry type without notifying arch code is surprising and error prone. As a bonus, checking that the irqfd is active provides a convenient location for documenting _why_ KVM must not consume the routing entry for an irqfd that is in the process of being deassigned: once the irqfd is deleted from the list (which happens *before* the eventfd is detached), it will no longer receive updates via kvm_irq_routing_update(), and so KVM could deliver an event using stale routing information (relative to KVM_SET_GSI_ROUTING returning to userspace). As an even better bonus, explicitly checking for the irqfd being active fixes a similar bug to the one the clobbering is trying to prevent: if an irqfd is deactivated, and then its routing is changed, kvm_irq_routing_update() won't invoke kvm_arch_update_irqfd_routing() (because the irqfd isn't in the list). And so if the irqfd is in bypass mode, IRQs will continue to be posted using the old routing information. As for kvm_arch_irq_bypass_del_producer(), clobbering the routing type results in KVM incorrectly keeping the IRQ in bypass mode, which is especially problematic on AMD as KVM tracks IRQs that are being posted to a vCPU in a list whose lifetime is tied to the irqfd. Without the help of KASAN to detect use-after-free, the most common sympton on AMD is a NULL pointer deref in amd_iommu_update_ga() due to the memory for irqfd structure being re-alloca

Affected

61 ranges· showing 25
VendorProductVersion rangeFixed in
debianlinux< linux 6.1.164-1 (bookworm)linux 6.1.164-1 (bookworm)
debianlinux-6.1< linux 6.1.164-1 (bookworm)linux 6.1.164-1 (bookworm)
linuxlinux
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < 959a063e7f12524bc1871ad1f519787967bbcd45959a063e7f12524bc1871ad1f519787967bbcd45
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < 2284bc168b148a17b5ca3b37b3d95c411f18a08d2284bc168b148a17b5ca3b37b3d95c411f18a08d
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < 6d14ba1e144e796b5fc81044f08cfba9024ca1956d14ba1e144e796b5fc81044f08cfba9024ca195
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < b61f9b2fcf181451d0a319889478cc53c001123eb61f9b2fcf181451d0a319889478cc53c001123e
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < ff48c9312d042bfbe826ca675e98acc6c623211cff48c9312d042bfbe826ca675e98acc6c623211c
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < 4385b2f2843549bfb932e0dcf76bf4b065543a3c4385b2f2843549bfb932e0dcf76bf4b065543a3c
linuxlinux>= f70c20aaf141adb715a2d750c55154073b02a9c3 < b4d37cdb77a0015f51fee083598fa227cc07aaf1b4d37cdb77a0015f51fee083598fa227cc07aaf1
linuxlinux_kernel
linuxlinux_kernel>= 0 < 5.10.251-15.10.251-1
linuxlinux_kernel>= 0 < 6.1.164-16.1.164-1
linuxlinux_kernel>= 0 < 6.12.73-16.12.73-1
linuxlinux_kernel>= 0 < 6.18.10-16.18.10-1
linuxlinux_kernel>= 4.4 < 5.10.2505.10.250
linuxlinux_kernel>= 5.11 < 5.15.2005.15.200
linuxlinux_kernel>= 5.16 < 6.1.1636.1.163
linuxlinux_kernel>= 6.13 < 6.18.106.18.10
linuxlinux_kernel>= 6.2 < 6.6.1246.6.124
linuxlinux_kernel>= 6.7 < 6.12.706.12.70
ubuntulinux
ubuntulinux-aws
ubuntulinux-aws-5.15
ubuntulinux-aws-fips

CVSS provenance

nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian7.8HIGH
vendor_redhat7.8HIGH
vendor_ubuntu7.8HIGH
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.