CVE-2022-49884: KVM: Initialize gfn_to_pfn_cache locks in dedicated helper
In the Linux kernel, the following vulnerability has been resolved:
KVM: Initialize gfntopfncache locks in dedicated helper
Move the gfntopfncache lock initialization to another helper and call the new helper during VM/vCPU creation. There are race conditions possible due to kvmgfntopfncacheinit()'s ability to re-initialize the cache's locks.
For example: a race between ioctl(KVMXENHVMEVTCHNSEND) and kvmgfntopfncacheinit() leads to a corrupted shinfo gpc lock.
(thread 1) | (thread 2) | kvmxensetevtchnfast | readlockirqsave(&gpc->lock, ...) | | kvmgfntopfncacheinit | rwlockinit(&gpc->lock) readunlockirqrestore(&gpc->lock, ...) |
Rename "cacheinit" and "cachedestroy" to activate+deactivate to avoid implying that the cache really is destroyed/freed.
Note, there more races in the newly named kvmgpcactivate() that will be addressed separately.
[sean: call out that this is a bug fix]
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2022-49884?
CVE-2022-49884 is categorized as a moderate severity vulnerability in the Linux kernel.
How can I fix CVE-2022-49884?
To resolve CVE-2022-49884, you should apply the appropriate security patch provided in the latest Linux kernel updates.
What systems are affected by CVE-2022-49884?
CVE-2022-49884 affects various versions of the Linux kernel, particularly those using KVM.
What type of vulnerability is CVE-2022-49884?
CVE-2022-49884 is a race condition vulnerability that can lead to unexpected behavior in virtual machine and virtual CPU operations.
When was CVE-2022-49884 published?
CVE-2022-49884 was published on December 18, 2022.