REDHAT-BUG-559091: High severity KVM KVM vulnerability

Published Jan 27, 2010
·
Updated

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.

Affected Software

1 affected component
KVM KVM

Event History

Jan 27, 2010
Data Sourced
via Red Hat·06:10 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who is realistically exposed to this issue?

Guests running on KVM are exposed when unprivileged CPL3 code in a guest can access an I/O port or MMIO region. A framebuffer is given as an example of an MMIO region that can make exploitation easy.

2

What does an attacker need to exploit it?

An attacker needs to run malicious unprivileged code inside a guest and cause KVM to emulate a malicious instruction. KVM emulates I/O and MMIO instructions, and access to an available I/O port or MMIO region enables the attacker to target kernel memory within that guest.

3

What is the impact within the guest?

The flaw allows code executing at CPL3 to modify memory at CPL0 privilege inside the same guest. This can allow modification of arbitrary kernel-memory locations when the required emulated I/O or MMIO access is available.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203