What’s Vulnerable › Vulnerabilities
CVE-2022-49884: KVM: Initialize gfn_to_pfn_cache locks in dedicated helper
- Severity: medium (CVSS 4.7 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-05-01 · updated 2026-08-04
- Weakness: CWE-362
Description
In the Linux kernel, the following vulnerability has been resolved: KVM: Initialize gfn_to_pfn_cache locks in dedicated helper Move the gfn_to_pfn_cache lock initialization to another helper and call the new helper during VM/vCPU creation. There are race conditions possible due to kvm_gfn_to_pfn_cache_init()'s ability to re-initialize the cache's locks. For example: a race between ioctl(KVM_XEN_HVM_EVTCHN_SEND) and kvm_gfn_to_pfn_cache_init() leads to a corrupted shinfo gpc lock. (thread 1) | (thread 2) | kvm_xen_set_evtchn_fast | read_lock_irqsave(&gpc->lock, ...) | | kvm_gfn_to_pfn_cache_init | rwlock_init(&gpc->lock) read_unlock_irqrestore(&gpc->lock, ...) | Rename "cache_init" and "cache_destroy" to activate+deactivate to avoid implying that the cache really is destroyed/freed. Note, there more races in the newly named kvm_gpc_activate() that will be addressed separately. [sean: call out that this is a bug fix]
Affected products
- Linux kernel: from 5.17 before 6.0.8; 6.1-rc1, 6.1-rc2, 6.1-rc3 — fixed in 6.0.8
How to fix
Upgrade to a fixed version: Linux kernel 6.0.8. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/52491a38b2c2411f3f0229dc6ad610349c704a41
- https://git.kernel.org/stable/c/61242001d6c9c253df7645dab090842d8da08764
Get alerted when CVE-2022-49884 or the next vulnerability affects your stack