CVE-2017-12136: Race Condition
ISSUE DESCRIPTION =================
The grant table code in Xen has a bespoke semi-lockfree allocator for recording grant mappings ("maptrack" entries). This allocator has a race which allows the free list to be corrupted.
Specifically: the code for removing an entry from the free list, prior to use, assumes (without locking) that if inspecting head item shows that it is not the tail, it will continue to not be the tail of the list if it is later found to be still the head and removed with cmpxchg. But the entry might have been removed and replaced, with the result that it might be the tail by then. (The invariants for the semi-lockfree data structure were never formally documented.)
Additionally, a stolen entry is put on the free list with an incorrect link field, which will very likely corrupt the list.
IMPACT ======
A malicious guest administrator can crash the host, and can probably escalate their privilege to that of the host.
VULNERABLE SYSTEMS ==================
Xen 4.6 and later are vulnerable.
Xen 4.5 and earlier are not vulnerable.
MITIGATION ==========
There is no mitigation for this vulnerability.
External References:
http://xenbits.xen.org/xsa/advisory-228.html
Other sources
Race condition in the grant table code in Xen 4.6.x through 4.9.x allows local guest OS administrators to cause a denial of service (free list corruption and host crash) or gain privileges on the host via vectors involving maptrack free list handling.
Affected Software
Remediation
Patch Available
Patch Available
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2017-12136?
CVE-2017-12136 has been assigned a moderate severity level due to its potential for limited exploitation.
How do I fix CVE-2017-12136?
To fix CVE-2017-12136, upgrade to Xen version 4.6.7, 4.7.4, 4.8.2, 4.9.1 or later, or apply the appropriate patches provided by the vendor.
What systems are affected by CVE-2017-12136?
CVE-2017-12136 affects multiple versions of Xen, specifically 4.6.0 through 4.6.6, 4.7.0 through 4.7.3, and 4.8.0 through 4.8.1, along with Citrix XenServer versions 6.0.2, 6.2.0, 6.5, 7.0, 7.1, and 7.2.
What type of vulnerability is CVE-2017-12136?
CVE-2017-12136 is a race condition vulnerability within the grant table code of the Xen hypervisor.
Is CVE-2017-12136 exploitable remotely?
CVE-2017-12136 requires local access and is not remotely exploitable without additional access to the affected systems.