LDTR, just like TR, is purely a protected mode facility. Hence even
when switching to a VM86 mode task, LDTR loading needs to follow
protected mode semantics. This was violated by the code.
On SVM (AMD hardware): a malicious unprivileged guest process can
escalate its privilege to that of the guest operating system.
On both SVM and VMX (Intel hardware): a malicious unprivileged guest
process can crash the guest.
Only 32-bit x86 HVM guests are vulnerable. Furthermore, only guest
operating systems which actually make use of hardware task switching,
and allow a new task to start in VM86 mode, are vulnerable. We are
not aware of any such operating systems.
The vulnerability is NOT exposed on any PV guests.
The vulnerability is NOT exposed on any 64-bit guests,
ARM systems are NOT vulnerable.
Xen versions from 4.0 onwards are affected. Xen versions 3.4 and
earlier are not affected.
For guests which are affected, the vulnerability could possibly be
mitigated by disabling access to VM86 mode by unprivileged guest
programs. Details would depend on the (so far hypothetical)
vulnerable guest kernel.
Name: the Xen project
Upstream: Jan Beulich (SUSE)
Created attachment 1218532 [details]
xen-unstable, Xen 4.7.x, Xen 4.6.x
Created attachment 1218533 [details]
Xen 4.5.x, Xen 4.4.x
Created xen tracking bugs for this issue:
Affects: fedora-all [bug 1397383]