Bug 814149 (CVE-2012-2121) - CVE-2012-2121 kvm: device assignment page leak
Summary: CVE-2012-2121 kvm: device assignment page leak
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2012-2121
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 811653 814151 814153 814154 814155
Blocks: 812428
TreeView+ depends on / blocked
 
Reported: 2012-04-19 10:10 UTC by Petr Matousek
Modified: 2019-09-29 12:52 UTC (History)
23 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-24 12:42:40 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:0676 normal SHIPPED_LIVE Moderate: kvm security and bug fix update 2012-05-21 17:49:59 UTC
Red Hat Product Errata RHSA-2012:0743 normal SHIPPED_LIVE Important: kernel security and bug fix update 2012-06-18 17:32:36 UTC

Description Petr Matousek 2012-04-19 10:10:47 UTC
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:
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=21a1416a1c945c5aeaeaf791b63c64926018eb77

References:
https://lkml.org/lkml/2012/4/11/248

Comment 3 Petr Matousek 2012-04-19 10:16:30 UTC
Created kernel tracking bugs for this issue

Affects: fedora-all [bug 814155]

Comment 5 Kurt Seifried 2012-04-19 15:38:30 UTC
Assigned CVE as per http://www.openwall.com/lists/oss-security/2012/04/19/16

Comment 6 Fedora Update System 2012-04-24 04:29:38 UTC
kernel-3.3.2-8.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Fedora Update System 2012-04-24 14:54:57 UTC
kernel-3.3.2-6.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2012-04-26 03:29:46 UTC
kernel-2.6.43.2-6.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 errata-xmlrpc 2012-05-21 14:28:23 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2012:0676 https://rhn.redhat.com/errata/RHSA-2012-0676.html

Comment 10 errata-xmlrpc 2012-06-18 13:34:12 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 6

Via RHSA-2012:0743 https://rhn.redhat.com/errata/RHSA-2012-0743.html


Note You need to log in before you can comment on or make changes to this bug.