First published: Thu Apr 19 2012(Updated: )
KVM uses memory slots to track and map guest regions of memory. When device assignment is used, the pages backing these slots are pinned in memory using get_user_pages and mapped into the iommu. The problem is that when a memory slot is destroyed the pages for the associated memory slot are neither unpinned nor unmapped from the iommu. The problem is that those pages are now never unpinned and continue to have an increased reference count. This is therefore a potential page leak from the kvm kernel module. On Red Hat Enterprise Linux, local user with ability to assign device (with access to PCI sysfs files for a device) could use this flaw to DoS the system. With upstream qemu-kvm/kvm privileged guest user that could hotunplug and then hotplug back certain devices could potentially use this flaw to DoS the host. Upstream fixes: <a href="http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=32f6daad4651a748a58a3ab6da0611862175722f">http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=32f6daad4651a748a58a3ab6da0611862175722f</a> <a href="http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=21a1416a1c945c5aeaeaf791b63c64926018eb77">http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=21a1416a1c945c5aeaeaf791b63c64926018eb77</a> References: <a href="https://lkml.org/lkml/2012/4/11/248">https://lkml.org/lkml/2012/4/11/248</a>
Credit: secalert@redhat.com secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Linux kernel | <=3.3.3 | |
debian/linux-2.6 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.