CVE-2025-68810: KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot
In the Linux kernel, the following vulnerability has been resolved:
KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot
Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was
initially created with a guest_memfd binding, as KVM doesn't support
toggling KVM_MEM_GUEST_MEMFD on existing memslots. KVM prevents enabling
KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.
Failure to reject the new memslot results in a use-after-free due to KVM
not unbinding from the guest_memfd instance. Unbinding on a FLAGS_ONLY
change is easy enough, and can/will be done as a hardening measure (in
anticipation of KVM supporting dirty logging on guest_memfd at some point),
but fixing the use-after-free would only address the immediate symptom.
==================================================================
BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]
Write of size 8 at addr ffff8881111ae908 by task repro/745
CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
Call Trace:
<TASK>
dump_stack_lvl+0x51/0x60
print_report+0xcb/0x5c0
kasan_report+0xb4/0xe0
kvm_gmem_release+0x362/0x400 [kvm]
__fput+0x2fa/0x9d0
task_work_run+0x12c/0x200
do_exit+0x6ae/0x2100
do_group_exit+0xa8/0x230
__x64_sys_exit_group+0x3a/0x50
x64_sys_call+0x737/0x740
do_syscall_64+0x5b/0x900
entry_SYSCALL_64_after_hwframe+0x4b/0x53
RIP: 0033:0x7f581f2eac31
</TASK>
Allocated by task 745 on cpu 6 at 9.746971s:
kasan_save_stack+0x20/0x40
kasan_save_track+0x13/0x50
__kasan_kmalloc+0x77/0x90
kvm_set_memory_region.part.0+0x652/0x1110 [kvm]
kvm_vm_ioctl+0x14b0/0x3290 [kvm]
__x64_sys_ioctl+0x129/0x1a0
do_syscall_64+0x5b/0x900
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Freed by task 745 on cpu 6 at 9.747467s:
kasan_save_stack+0x20/0x40
kasan_save_track+0x13/0x50
__kasan_save_free_info+0x37/0x50
__kasan_slab_free+0x3b/0x60
kfree+0xf5/0x440
kvm_set_memslot+0x3c2/0x1160 [kvm]
kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]
kvm_vm_ioctl+0x14b0/0x3290 [kvm]
__x64_sys_ioctl+0x129/0x1a0
do_syscall_64+0x5b/0x900
entry_SYSCALL_64_after_hwframe+0x4b/0x53
Security readout for executives and security teams
Plain-English summary
A flaw in Linux KVM can cause use-after-free memory corruption when privileged virtualization software improperly removes a guest-memory-file flag from an existing memory slot. A local user with KVM access could potentially compromise confidentiality, integrity, or availability. Systems not using KVM guest_memfd are less likely to be exposed.
Executive priority
Prioritize patch assessment for multi-tenant or shared KVM hosts because successful memory corruption could affect the host security boundary. Treat isolated systems without KVM or guest_memfd use as lower urgency after validation. The incomplete version-range data makes vendor package confirmation essential.
Technical view
KVM allowed KVM_MEM_GUEST_MEMFD to be cleared on an existing bound memslot, despite not supporting that transition. The stale guest_memfd binding can later reach freed memslot memory in kvm_gmem_release, producing a slab use-after-free. The documented correction rejects the unsupported flag change.
Likely exposure
Exposure is concentrated on Linux virtualization hosts where local, lower-privileged processes can access KVM and create or modify guest_memfd-backed memory slots. The supplied version metadata lists Linux 6.8, 6.12.64, 6.18.3, and 6.19 as affected, but does not clearly define complete vulnerable ranges.
Exploitation context
The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction, with potentially high confidentiality, integrity, and availability impact. The source bundle reports a KASAN reproducer, but no CISA KEV listing or evidence of active exploitation. A reproducible crash is not proof of reliable privilege escalation.
Researcher notes
The demonstrated fault is a write-after-free in kvm_gmem_release after a FLAGS_ONLY memslot update clears KVM_MEM_GUEST_MEMFD without unbinding. The report notes that merely unbinding would address the immediate symptom, while rejecting unsupported toggling corrects the invalid state transition. No CWE classification was supplied.
Mitigation direction
Identify KVM hosts using guest_memfd-backed virtual-machine memory.
Apply distribution-supported kernel updates containing the referenced upstream correction.
Reboot hosts into the corrected kernel after normal change-control testing.
Restrict KVM device access to trusted virtualization services and administrators.
Check vendor advisories for precise affected and fixed package versions.
Validation and detection
Record the running kernel version and distribution package release on every KVM host.
Confirm the installed source or vendor package includes the referenced corrective commit.
Verify hosts rebooted into the updated kernel, not merely installed it.
Review permissions on KVM device nodes and virtualization service accounts.
Use approved regression tests to confirm guest_memfd workloads remain operational.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-68810 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
4Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.