First published: Wed Aug 02 2017(Updated: )
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: <a href="http://xenbits.xen.org/xsa/advisory-228.html">http://xenbits.xen.org/xsa/advisory-228.html</a>
Affected Software | Affected Version | How to fix |
---|---|---|
Xen Project Xen Hypervisor | >=4.6 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-1477651 is considered critical due to the possibility of free list corruption.
To fix REDHAT-BUG-1477651, users should apply the latest patch or update provided by the Xen Project.
REDHAT-BUG-1477651 affects Xen Project Xen versions 4.6 and above.
REDHAT-BUG-1477651 impacts the grant table code in the Xen hypervisor.
REDHAT-BUG-1477651 is a race condition vulnerability affecting the allocator for grant mappings.