DescriptionEugene Teo (Security Response)
2010-01-27 06:10:02 UTC
Gleb Natapov found a bug in KVM that allows code that runs in CPL3 (inside a
guest) to modify memory in CPL0 (inside a guest). The bug is in x86 emulator
code. When emulator accesses guest's memory on behalf of the gust's code it does this with the CPL0 privilege, so if emulated instruction is executed by
unprivileged code it can still modify memory that otherwise is not accessible to it. To tak advantage of this vulnerability malicious code should trick KVM to emulate malicious instruction. KVM emulates IO and MMIO instructions, so if unprivileged process has access to some IO port or MMIO region (framebuffer for instance) the bug is very easy to use to modify arbitrary location in kernel memory.
Comment 2Eugene Teo (Security Response)
2010-01-27 06:15:12 UTC