CVE-2026-89777
EUVD-2026-8029816.09.2026, 09:17
In the Linux kernel, the following vulnerability has been resolved:
vfio/pci: clear vdev->msi_perm after freeing it on init failure
vfio_msi_cap_len() lazily allocates the per-device MSI permission table:
vdev->msi_perm = kmalloc_obj(struct perm_bits, GFP_KERNEL_ACCOUNT);
if (!vdev->msi_perm)
return -ENOMEM;
ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags);
if (ret) {
kfree(vdev->msi_perm);
return ret; /* vdev->msi_perm left dangling */
}
When init_pci_cap_msi_perm() -> alloc_perm_bits() fails with -ENOMEM, the
error path frees vdev->msi_perm but leaves the freed pointer stored in
it. vdev->msi_perm is not re-zeroed later because struct
vfio_pci_core_device is per-device and persists across open/close cycles,
and the vfio_config_init() error path returns without calling
vfio_config_free(). So the dangling pointer outlives the failed open.
That leads to two use-after-frees on the same device:
1. Reuse. The next vfio_config_init() sees the stale pointer at
"if (vdev->msi_perm) return len;" and reuses the freed object. MSI
config accesses in vfio_pci_config_rw_single() then dereference and
call the freed perm->readfn / perm->writefn function pointers.
2. Double free. A later vfio_config_free() runs free_perm_bits() and
kfree() on the already-freed object.
Fix it by NULLing vdev->msi_perm after the kfree(), matching the
NULL-after-free discipline already used in free_perm_bits() and
vfio_config_free().
BUG: KASAN: slab-use-after-free in vfio_pci_config_rw_single (drivers/vfio/pci/vfio_pci_config.c:1961)
Read of size 8 at addr ffff88800fcc88d0 by task exploit/143
Call Trace:
...
kasan_report (mm/kasan/report.c:595)
vfio_pci_config_rw_single (drivers/vfio/pci/vfio_pci_config.c:1961)
vfio_pci_config_rw (drivers/vfio/pci/vfio_pci_config.c:1986)
vfio_pci_rw (drivers/vfio/pci/vfio_pci_core.c:1599)
vfs_read (fs/read_write.c:572)
__x64_sys_pread64 (fs/read_write.c:764)
do_syscall_64 (arch/x86/entry/syscall_64.c:94)
...
Followed on device close by a double free of the same object:
Oops: general protection fault, probably for non-canonical address
0x1f63e0e8000008: 0000 [#1] SMP KASAN NOPTI
RIP: 0010:kfree (mm/slub.c:6711)
Call Trace:
vfio_config_free (drivers/vfio/pci/vfio_pci_config.c:1861)
vfio_pci_core_disable (drivers/vfio/pci/vfio_pci_core.c:685)
vfio_pci_core_close_device (drivers/vfio/pci/vfio_pci_core.c:777)
vfio_df_close (drivers/vfio/vfio_main.c:602)
vfio_device_fops_release (drivers/vfio/vfio_main.c:648)
__fput (fs/file_table.c:512)
__x64_sys_close (fs/open.c:1496)
do_syscall_64 (arch/x86/entry/syscall_64.c:94)
...
Kernel panic - not syncing: Fatal exceptionEnginsightAwaiting analysis
This vulnerability is currently awaiting analysis.
Debian Releases
Ubuntu Releases
Ubuntu Product | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| linux |
| ||||||||||||||
| linux-hwe |
| ||||||||||||||
| linux-hwe-5.4 |
| ||||||||||||||
| linux-hwe-5.8 |
| ||||||||||||||
| linux-hwe-5.11 |
| ||||||||||||||
| linux-hwe-5.13 |
| ||||||||||||||
| linux-hwe-5.15 |
| ||||||||||||||
| linux-hwe-5.19 |
| ||||||||||||||
| linux-hwe-6.2 |
| ||||||||||||||
| linux-hwe-6.5 |
| ||||||||||||||
| linux-hwe-6.8 |
| ||||||||||||||
| linux-hwe-6.11 |
| ||||||||||||||
| linux-hwe-6.14 |
| ||||||||||||||
| linux-hwe-6.17 |
| ||||||||||||||
| linux-hwe-7.0 |
| ||||||||||||||
| linux-hwe-edge |
| ||||||||||||||
| linux-lts-xenial |
| ||||||||||||||
| linux-kvm |
| ||||||||||||||
| linux-allwinner-5.19 |
| ||||||||||||||
| linux-aws |
| ||||||||||||||
| linux-aws-5.0 |
| ||||||||||||||
| linux-aws-5.3 |
| ||||||||||||||
| linux-aws-5.4 |
| ||||||||||||||
| linux-aws-5.8 |
| ||||||||||||||
| linux-aws-5.11 |
| ||||||||||||||
| linux-aws-5.13 |
| ||||||||||||||
| linux-aws-5.15 |
| ||||||||||||||
| linux-aws-5.19 |
| ||||||||||||||
| linux-aws-6.2 |
| ||||||||||||||
| linux-aws-6.5 |
| ||||||||||||||
| linux-aws-6.8 |
| ||||||||||||||
| linux-aws-6.14 |
| ||||||||||||||
| linux-aws-6.17 |
| ||||||||||||||
| linux-aws-7.0 |
| ||||||||||||||
| linux-aws-hwe |
| ||||||||||||||
| linux-azure |
| ||||||||||||||
| linux-azure-4.15 |
| ||||||||||||||
| linux-azure-5.3 |
| ||||||||||||||
| linux-azure-5.4 |
| ||||||||||||||
| linux-azure-5.8 |
| ||||||||||||||
| linux-azure-5.11 |
| ||||||||||||||
| linux-azure-5.13 |
| ||||||||||||||
| linux-azure-5.15 |
| ||||||||||||||
| linux-azure-5.19 |
| ||||||||||||||
| linux-azure-6.2 |
| ||||||||||||||
| linux-azure-6.5 |
| ||||||||||||||
| linux-azure-6.8 |
| ||||||||||||||
| linux-azure-6.11 |
| ||||||||||||||
| linux-azure-6.14 |
| ||||||||||||||
| linux-azure-6.17 |
| ||||||||||||||
| linux-azure-7.0 |
| ||||||||||||||
| linux-azure-fde |
| ||||||||||||||
| linux-azure-fde-5.15 |
| ||||||||||||||
| linux-azure-fde-5.19 |
| ||||||||||||||
| linux-azure-fde-6.2 |
| ||||||||||||||
| linux-azure-fde-6.8 |
| ||||||||||||||
| linux-azure-fde-6.14 |
| ||||||||||||||
| linux-azure-fde-6.17 |
| ||||||||||||||
| linux-azure-fde-7.0 |
| ||||||||||||||
| linux-azure-nvidia |
| ||||||||||||||
| linux-azure-nvidia-6.14 |
| ||||||||||||||
| linux-bluefield |
| ||||||||||||||
| linux-azure-edge |
| ||||||||||||||
| linux-fips |
| ||||||||||||||
| linux-aws-fips |
| ||||||||||||||
| linux-azure-fips |
| ||||||||||||||
| linux-gcp-fips |
| ||||||||||||||
| linux-gcp |
| ||||||||||||||
| linux-gcp-4.15 |
| ||||||||||||||
| linux-gcp-5.3 |
| ||||||||||||||
| linux-gcp-5.4 |
| ||||||||||||||
| linux-gcp-5.8 |
| ||||||||||||||
| linux-gcp-5.11 |
| ||||||||||||||
| linux-gcp-5.13 |
| ||||||||||||||
| linux-gcp-5.15 |
| ||||||||||||||
| linux-gcp-5.19 |
| ||||||||||||||
| linux-gcp-6.2 |
| ||||||||||||||
| linux-gcp-6.5 |
| ||||||||||||||
| linux-gcp-6.8 |
| ||||||||||||||
| linux-gcp-6.11 |
| ||||||||||||||
| linux-gcp-6.14 |
| ||||||||||||||
| linux-gcp-6.17 |
| ||||||||||||||
| linux-gcp-7.0 |
| ||||||||||||||
| linux-gke |
| ||||||||||||||
| linux-gke-4.15 |
| ||||||||||||||
| linux-gke-5.4 |
| ||||||||||||||
| linux-gke-5.15 |
| ||||||||||||||
| linux-gkeop |
| ||||||||||||||
| linux-gkeop-5.4 |
| ||||||||||||||
| linux-gkeop-5.15 |
| ||||||||||||||
| linux-ibm |
| ||||||||||||||
| linux-ibm-5.4 |
| ||||||||||||||
| linux-ibm-5.15 |
| ||||||||||||||
| linux-ibm-6.8 |
| ||||||||||||||
| linux-intel-5.13 |
| ||||||||||||||
| linux-intel-iotg |
| ||||||||||||||
| linux-intel-iotg-5.15 |
| ||||||||||||||
| linux-iot |
| ||||||||||||||
| linux-intel-iot-realtime |
| ||||||||||||||
| linux-lowlatency |
| ||||||||||||||
| linux-lowlatency-hwe-5.15 |
| ||||||||||||||
| linux-lowlatency-hwe-5.19 |
| ||||||||||||||
| linux-lowlatency-hwe-6.2 |
| ||||||||||||||
| linux-lowlatency-hwe-6.5 |
| ||||||||||||||
| linux-lowlatency-hwe-6.8 |
| ||||||||||||||
| linux-lowlatency-hwe-6.11 |
| ||||||||||||||
| linux-nvidia |
| ||||||||||||||
| linux-nvidia-6.2 |
| ||||||||||||||
| linux-nvidia-6.5 |
| ||||||||||||||
| linux-nvidia-6.8 |
| ||||||||||||||
| linux-nvidia-6.11 |
| ||||||||||||||
| linux-nvidia-6.17 |
| ||||||||||||||
| linux-nvidia-7.0 |
| ||||||||||||||
| linux-nvidia-bos |
| ||||||||||||||
| linux-nvidia-lowlatency |
| ||||||||||||||
| linux-nvidia-tegra |
| ||||||||||||||
| linux-nvidia-tegra-5.15 |
| ||||||||||||||
| linux-nvidia-tegra-igx |
| ||||||||||||||
| linux-oracle |
| ||||||||||||||
| linux-oracle-5.0 |
| ||||||||||||||
| linux-oracle-5.3 |
| ||||||||||||||
| linux-oracle-5.4 |
| ||||||||||||||
| linux-oracle-5.8 |
| ||||||||||||||
| linux-oracle-5.11 |
| ||||||||||||||
| linux-oracle-5.13 |
| ||||||||||||||
| linux-oracle-5.15 |
| ||||||||||||||
| linux-oracle-6.5 |
| ||||||||||||||
| linux-oracle-6.8 |
| ||||||||||||||
| linux-oracle-6.14 |
| ||||||||||||||
| linux-oracle-6.17 |
| ||||||||||||||
| linux-oracle-7.0 |
| ||||||||||||||
| linux-oem |
| ||||||||||||||
| linux-oem-5.6 |
| ||||||||||||||
| linux-oem-5.10 |
| ||||||||||||||
| linux-oem-5.13 |
| ||||||||||||||
| linux-oem-5.14 |
| ||||||||||||||
| linux-oem-5.17 |
| ||||||||||||||
| linux-oem-6.0 |
| ||||||||||||||
| linux-oem-6.1 |
| ||||||||||||||
| linux-oem-6.5 |
| ||||||||||||||
| linux-oem-6.8 |
| ||||||||||||||
| linux-oem-6.11 |
| ||||||||||||||
| linux-oem-6.14 |
| ||||||||||||||
| linux-oem-6.17 |
| ||||||||||||||
| linux-oem-7.0 |
| ||||||||||||||
| linux-raspi |
| ||||||||||||||
| linux-raspi2 |
| ||||||||||||||
| linux-raspi-5.4 |
| ||||||||||||||
| linux-raspi-realtime |
| ||||||||||||||
| linux-realtime |
| ||||||||||||||
| linux-realtime-6.8 |
| ||||||||||||||
| linux-realtime-6.14 |
| ||||||||||||||
| linux-riscv |
| ||||||||||||||
| linux-riscv-5.8 |
| ||||||||||||||
| linux-riscv-5.11 |
| ||||||||||||||
| linux-riscv-5.15 |
| ||||||||||||||
| linux-riscv-5.19 |
| ||||||||||||||
| linux-riscv-6.5 |
| ||||||||||||||
| linux-riscv-6.8 |
| ||||||||||||||
| linux-riscv-6.14 |
| ||||||||||||||
| linux-riscv-6.17 |
| ||||||||||||||
| linux-riscv-7.0 |
| ||||||||||||||
| linux-starfive-5.19 |
| ||||||||||||||
| linux-starfive-6.2 |
| ||||||||||||||
| linux-starfive-6.5 |
| ||||||||||||||
| linux-xilinx |
| ||||||||||||||
| linux-xilinx-zynqmp |
| ||||||||||||||
| linux-realtime-6.17 |
|
Red Hat Enterprise Linux Releases
Red Hat Product | |||||
|---|---|---|---|---|---|
| bpftool |
| ||||
| kernel |
| ||||
| kernel-64k |
| ||||
| kernel-64k-core |
| ||||
| kernel-64k-debug |
| ||||
| kernel-64k-debug-core |
| ||||
| kernel-64k-debug-devel |
| ||||
| kernel-64k-debug-devel-matched |
| ||||
| kernel-64k-debug-modules |
| ||||
| kernel-64k-debug-modules-core |
| ||||
| kernel-64k-debug-modules-extra |
| ||||
| kernel-64k-devel |
| ||||
| kernel-64k-devel-matched |
| ||||
| kernel-64k-modules |
| ||||
| kernel-64k-modules-core |
| ||||
| kernel-64k-modules-extra |
| ||||
| kernel-abi-stablelists |
| ||||
| kernel-core |
| ||||
| kernel-debug |
| ||||
| kernel-debug-core |
| ||||
| kernel-debug-devel |
| ||||
| kernel-debug-devel-matched |
| ||||
| kernel-debug-modules |
| ||||
| kernel-debug-modules-core |
| ||||
| kernel-debug-modules-extra |
| ||||
| kernel-debug-uki-virt |
| ||||
| kernel-devel |
| ||||
| kernel-devel-matched |
| ||||
| kernel-doc |
| ||||
| kernel-modules |
| ||||
| kernel-modules-core |
| ||||
| kernel-modules-extra |
| ||||
| kernel-rt |
| ||||
| kernel-rt-64k |
| ||||
| kernel-rt-64k-core |
| ||||
| kernel-rt-64k-debug |
| ||||
| kernel-rt-64k-debug-core |
| ||||
| kernel-rt-64k-debug-devel |
| ||||
| kernel-rt-64k-debug-modules |
| ||||
| kernel-rt-64k-debug-modules-core |
| ||||
| kernel-rt-64k-debug-modules-extra |
| ||||
| kernel-rt-64k-devel |
| ||||
| kernel-rt-64k-modules |
| ||||
| kernel-rt-64k-modules-core |
| ||||
| kernel-rt-64k-modules-extra |
| ||||
| kernel-rt-core |
| ||||
| kernel-rt-debug |
| ||||
| kernel-rt-debug-core |
| ||||
| kernel-rt-debug-devel |
| ||||
| kernel-rt-debug-kvm |
| ||||
| kernel-rt-debug-modules |
| ||||
| kernel-rt-debug-modules-core |
| ||||
| kernel-rt-debug-modules-extra |
| ||||
| kernel-rt-devel |
| ||||
| kernel-rt-kvm |
| ||||
| kernel-rt-modules |
| ||||
| kernel-rt-modules-core |
| ||||
| kernel-rt-modules-extra |
| ||||
| kernel-tools |
| ||||
| kernel-tools-libs |
| ||||
| kernel-tools-libs-devel |
| ||||
| kernel-uki-virt |
| ||||
| kernel-uki-virt-addons |
| ||||
| kernel-zfcpdump |
| ||||
| kernel-zfcpdump-core |
| ||||
| kernel-zfcpdump-devel |
| ||||
| kernel-zfcpdump-devel-matched |
| ||||
| kernel-zfcpdump-modules |
| ||||
| kernel-zfcpdump-modules-core |
| ||||
| kernel-zfcpdump-modules-extra |
| ||||
| libperf |
| ||||
| perf |
| ||||
| python3-perf |
| ||||
| rtla |
| ||||
| rv |
|
Amazon Linux Releases
Amazon Package | |||
|---|---|---|---|
| bpftool |
| ||
| bpftool-debuginfo |
| ||
| bpftool6.12 |
| ||
| bpftool6.12-debuginfo |
| ||
| bpftool6.18 |
| ||
| bpftool6.18-debuginfo |
| ||
| kernel |
| ||
| kernel-debuginfo |
| ||
| kernel-debuginfo-common-aarch64 |
| ||
| kernel-debuginfo-common-x86_64 |
| ||
| kernel-devel |
| ||
| kernel-headers |
| ||
| kernel-livepatch-6.1.188-233.385 |
| ||
| kernel-livepatch-6.12.110-135.201 |
| ||
| kernel-livepatch-6.18.54-121.166 |
| ||
| kernel-modules-extra |
| ||
| kernel-modules-extra-common |
| ||
| kernel-tools |
| ||
| kernel-tools-debuginfo |
| ||
| kernel-tools-devel |
| ||
| kernel6.12 |
| ||
| kernel6.12-debuginfo |
| ||
| kernel6.12-debuginfo-common-aarch64 |
| ||
| kernel6.12-debuginfo-common-x86_64 |
| ||
| kernel6.12-devel |
| ||
| kernel6.12-headers |
| ||
| kernel6.12-modules-extra |
| ||
| kernel6.12-modules-extra-common |
| ||
| kernel6.12-tools |
| ||
| kernel6.12-tools-debuginfo |
| ||
| kernel6.12-tools-devel |
| ||
| kernel6.18 |
| ||
| kernel6.18-debuginfo |
| ||
| kernel6.18-debuginfo-common-aarch64 |
| ||
| kernel6.18-debuginfo-common-x86_64 |
| ||
| kernel6.18-devel |
| ||
| kernel6.18-headers |
| ||
| kernel6.18-modules-extra |
| ||
| kernel6.18-modules-extra-common |
| ||
| kernel6.18-tools |
| ||
| kernel6.18-tools-debuginfo |
| ||
| kernel6.18-tools-devel |
| ||
| microvm-kernel6.18 |
| ||
| perf |
| ||
| perf-debuginfo |
| ||
| perf6.12 |
| ||
| perf6.12-debuginfo |
| ||
| perf6.18 |
| ||
| perf6.18-debuginfo |
| ||
| python3-perf |
| ||
| python3-perf-debuginfo |
| ||
| python3-perf6.12 |
| ||
| python3-perf6.12-debuginfo |
| ||
| python3-perf6.18 |
| ||
| python3-perf6.18-debuginfo |
|
Vulnerability Media Exposure
References