Vigil@nce - Linux kernel: access to protected memory area under KVM
March 2017 by Vigil@nce
This bulletin was written by Vigil@nce : https://vigilance.fr/offer
SYNTHESIS OF THE VULNERABILITY
An attacker process, inside a guest system, can set its stack segment register to 0, in order to get the kernel privileges on the host system.
Impacted products: Debian, Fedora, Linux, openSUSE Leap, SUSE
Linux Enterprise Desktop, SLES, Ubuntu.
Creation date: 19/01/2017.
DESCRIPTION OF THE VULNERABILITY
The Linux kernel product offers a heavyweight virtualization layer Kernel Virtual Machine.
The machine instruction that set the stack segment register must be emulated by KVM in order to provide separate segment tables to each guest system. However, the case of the segment number 0 is special for the processor and the emulator mishandle it. On a host having an AMD processor, the effect is to give the privilege level of the host kernel to the code of the guest process.
An attacker process, inside a guest system, can therefore set its stack segment register to 0, in order to get the kernel privileges on the host system.
ACCESS TO THE COMPLETE VIGIL@NCE BULLETIN