Description
In the Linux kernel, the following vulnerability has been resolved:
KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying
When unbinding a memslot from a guest_memfd instance, remove the bindings
even if the guest_memfd file is dying, i.e. even if its file refcount has
gone to zero. If the memslot is freed before the file is fully released,
nullifying the memslot side of the binding in kvm_gmem_release() will
write to freed memory, as detected by syzbot+KASAN:
==================================================================
BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353
Write of size 8 at addr ffff88807befa508 by task syz.0.17/6022
CPU: 0 UID: 0 PID: 6022 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
Call Trace:
<TASK>
dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:378 [inline]
print_report+0xca/0x240 mm/kasan/report.c:482
kasan_report+0x118/0x150 mm/kasan/report.c:595
kvm_gmem_release+0x176/0x440 virt/kvm/guest_memfd.c:353
__fput+0x44c/0xa70 fs/file_table.c:468
task_work_run+0x1d4/0x260 kernel/task_work.c:227
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop+0xe9/0x130 kernel/entry/common.c:43
exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline]
syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline]
syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline]
do_syscall_64+0x2bd/0xfa0 arch/x86/entry/syscall_64.c:100
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fbeeff8efc9
</TASK>
Allocated by task 6023:
kasan_save_stack mm/kasan/common.c:56 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
poison_kmalloc_redzone mm/kasan/common.c:397 [inline]
__kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:414
kasan_kmalloc include/linux/kasan.h:262 [inline]
__kmalloc_cache_noprof+0x3e2/0x700 mm/slub.c:5758
kmalloc_noprof include/linux/slab.h:957 [inline]
kzalloc_noprof include/linux/slab.h:1094 [inline]
kvm_set_memory_region+0x747/0xb90 virt/kvm/kvm_main.c:2104
kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154
kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Freed by task 6023:
kasan_save_stack mm/kasan/common.c:56 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:584
poison_slab_object mm/kasan/common.c:252 [inline]
__kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284
kasan_slab_free include/linux/kasan.h:234 [inline]
slab_free_hook mm/slub.c:2533 [inline]
slab_free mm/slub.c:6622 [inline]
kfree+0x19a/0x6d0 mm/slub.c:6829
kvm_set_memory_region+0x9c4/0xb90 virt/kvm/kvm_main.c:2130
kvm_vm_ioctl_set_memory_region+0x6f/0xd0 virt/kvm/kvm_main.c:2154
kvm_vm_ioctl+0x957/0xc60 virt/kvm/kvm_main.c:5201
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Deliberately don't acquire filemap invalid lock when the file is dying as
the lifecycle of f_mapping is outside the purview of KVM. Dereferencing
the mapping is *probably* fine, but there's no need to invalidate anything
as memslot deletion is responsible for zapping SPTEs, and the only code
that can access the dying file is kvm_gmem_release(), whose core code is
mutual
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.8 | 6.12.59 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.17.9-1 | — |
| Debian 13 | linux | 6.12.63-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux | 6.17.0-14.14 | USN-8029-1 |
| Ubuntu 25.10 | linux-aws +2 | 6.17.0-1007.7 | USN-8030-1, USN-8029-2 |
| Ubuntu 25.10 | linux-azure +1 | 6.17.0-1008.8 | USN-8029-3, USN-8029-1 |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 25.10 | linux-realtime | 6.17.0-1006.7 | USN-8029-1 |
| Ubuntu 25.10 | linux-riscv | 6.17.0-14.14.1 | — |
| Ubuntu 24.04 LTS | linux +35 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-aws-6.17 +1 | 6.17.0-1007.7~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-gcp-6.17 | 6.17.0-1008.8~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1008.8 | — |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1035.38 | USN-8781-1 |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1011.11 | USN-8048-1 |
| Ubuntu 22.04 LTS | linux-riscv +42 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime +2 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1006.7~24.04.1 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.28.1 | SUSE-SU-2026:0315-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.24.1 | SUSE-SU-2026:0281-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.28.1.150700.17.19.1 | SUSE-SU-2026:0315-1 |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.9.1 | SUSE-SU-2026:20220-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.9.1.160000.2.6 | SUSE-SU-2026:20220-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.9.1 | SUSE-SU-2026:20228-1, SUSE-SU-2026:20220-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.9.1.160000.2.6 | SUSE-SU-2026:20220-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.9.1.160000.2.6 | SUSE-SU-2026:20207-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.9.1 | SUSE-SU-2026:20564-1, SUSE-SU-2026:20207-1 |
| SLE Micro 6.1 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20876-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20477-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20845-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20477-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.28.1 | SUSE-SU-2026:0315-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_8 | 1-150700.1.3.1 | SUSE-SU-2026:0278-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_8 | 1-150700.15.3.1 | SUSE-SU-2026:0315-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.28.1 | SUSE-SU-2026:0278-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.9.1.160000.2.6 | openSUSE-SU-2026:20145-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.9.1 | openSUSE-SU-2026:20145-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.63-84.121 | 1:1.0-0.amzn2023 | ALAS2023-2026-1430 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.63-84.121.amzn2023 | ALAS2023-2026-1430 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-107.59.3.2.el10uek | ELSA-2026-50006 |
Advisories 21
- WID-SEC-2025-2756 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8781-1 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8029-2 linux-aws, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8048-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8029-3 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8030-1 linux-gcp vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8029-1 linux, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- SUSE-SU-2026:20564-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:20876-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 31, 2026
- SUSE-SU-2026:20845-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- openSUSE-SU-2026:20145-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20498-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20477-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20228-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20207-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20220-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0281-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0278-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0315-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- ALAS2023-2026-1430 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Feb 18, 2026
- ELSA-2026-50006 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jan 13, 2026