<?xml version="1.0" encoding="utf-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Red Hat Security Advisory: kvm security and bug fix update</DocumentTitle>
  <DocumentType>Security Advisory</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>secalert@redhat.com</ContactDetails>
    <IssuingAuthority>Red Hat Security Response Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification><ID>RHSA-2012:0676</ID></Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
       <Revision>
         <Number>1</Number>
         <Date>2012-05-21T13:45:00Z</Date>
         <Description>Current version</Description>
       </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2012-05-21T13:45:00Z</InitialReleaseDate>
    <CurrentReleaseDate>2012-05-21T13:45:00Z</CurrentReleaseDate>
    <Generator>
      <Engine>Red Hat rhsa-to-cvrf 1.0.1484</Engine>
      <Date>2012-05-21T14:26:01Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">
Updated kvm packages that fix two security issues and one bug are now
available for Red Hat Enterprise Linux 5.

The Red Hat Security Response Team has rated this update as having moderate
security impact. Common Vulnerability Scoring System (CVSS) base scores,
which give detailed severity ratings, are available for each vulnerability
from the CVE links in the References section.    </Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">
KVM (Kernel-based Virtual Machine) is a full virtualization solution for
Linux on AMD64 and Intel 64 systems. KVM is a Linux kernel module built for
the standard Red Hat Enterprise Linux kernel.

A flaw was found in the way the KVM_CREATE_IRQCHIP ioctl was handled.
Calling this ioctl when at least one virtual CPU (VCPU) already existed
could lead to a NULL pointer dereference later when the VCPU is scheduled
to run. A malicious user in the kvm group on the host could use this flaw
to crash the host. (CVE-2012-1601)

A flaw was found in the way device memory was handled during guest device
removal. Upon successful device removal, memory used by the device was not
properly unmapped from the corresponding IOMMU or properly released from
the kernel, leading to a memory leak. A malicious user in the kvm group on
the host who has the ability to assign a device to a guest could use this
flaw to crash the host. (CVE-2012-2121)

This update also fixes the following bug:

* An off-by-one error in the QEMU guest's memory management could, in rare
cases, cause QEMU-KVM to crash due to a segmentation fault in
tb_invalidate_phys_page_range() if a device initiated DMA into a specific
guest address. In a reported case, this issue presented on a system that
had a guest using the 8139cp network driver. (BZ#816207)

All users of kvm are advised to upgrade to these updated packages, which
contain backported patches to correct these issues. Note that the procedure
in the Solution section must be performed before this update will take
effect.    </Note>
    <Note Title="Terms of Use" Ordinal="3" Type="Legal Disclaimer" xml:lang="en">Please see https://www.redhat.com/footer/terms-of-use.html</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
  <AggregateSeverity Namespace="https://access.redhat.com/security/updates/classification/">Moderate</AggregateSeverity>
  <DocumentReferences>
    <Reference Type="Self">
       <URL>https://rhn.redhat.com/errata/RHSA-2012-0676.html</URL>
       <Description>https://rhn.redhat.com/errata/RHSA-2012-0676.html</Description>
    </Reference>
    <Reference>
       <URL>https://access.redhat.com/security/updates/classification/#moderate</URL>
       <Description>https://access.redhat.com/security/updates/classification/#moderate</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="Red Hat Enterprise Linux">
      <Branch Type="Product Name" Name="RHEL Virtualization (v. 5 server)">
        <FullProductName ProductID="5Server-VT-5.8.Z">RHEL Virtualization (v. 5 server)</FullProductName>
      </Branch>
      <Branch Type="Product Name" Name="RHEL Desktop Multi OS (v. 5 client)">
        <FullProductName ProductID="5Client-VT-5.8.Z">RHEL Desktop Multi OS (v. 5 client)</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="kvm-83-249.el5_8.4">
      <FullProductName ProductID="kvm-83-249.el5_8.4">kvm-83-249.el5_8.4.src.rpm</FullProductName>
    </Branch>
    <Relationship ProductReference="kvm-83-249.el5_8.4" RelationType="Default Component Of" RelatesToProductReference="5Server-VT-5.8.Z">
      <FullProductName ProductID="5Server-VT-5.8.Z:kvm-83-249.el5_8.4">kvm-83-249.el5_8.4 as a component of RHEL Virtualization (v. 5 server)</FullProductName>
    </Relationship>
    <Relationship ProductReference="kvm-83-249.el5_8.4" RelationType="Default Component Of" RelatesToProductReference="5Client-VT-5.8.Z">
      <FullProductName ProductID="5Client-VT-5.8.Z:kvm-83-249.el5_8.4">kvm-83-249.el5_8.4 as a component of RHEL Desktop Multi OS (v. 5 client)</FullProductName>
    </Relationship>
  </ProductTree>

  <Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
    <Notes><Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">A flaw was found in the way the KVM_CREATE_IRQCHIP ioctl was handled. Calling this ioctl when at least one virtual CPU (VCPU) already existed could lead to a NULL pointer dereference later when the VCPU is scheduled to run. A malicious user in the kvm group on the host could use this flaw to crash the host. </Note></Notes>
    <DiscoveryDate>2012-03-07T00:00:00Z</DiscoveryDate>
    <ReleaseDate>2012-02-07T00:00:00Z</ReleaseDate>
    <Involvements><Involvement Party="Vendor" Status="Completed"></Involvement></Involvements>
    <CVE>CVE-2012-1601</CVE>
    <ProductStatuses><Status Type="Fixed">
      <ProductID>5Client-VT-5.8.Z:kvm-83-249.el5_8.4</ProductID>
      <ProductID>5Server-VT-5.8.Z:kvm-83-249.el5_8.4</ProductID>
    </Status></ProductStatuses>
    <Threats><Threat Type="Impact"><Description>Moderate</Description></Threat></Threats>
    <CVSSScoreSets><ScoreSet>
      <BaseScore>4</BaseScore>
      <Vector>AV:L/AC:H/Au:N/C:N/I:N/A:C</Vector>
    </ScoreSet></CVSSScoreSets>
    <Remediations>
      <Remediation Type="Vendor Fix"><Description xml:lang="en">
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

The following procedure must be performed before this update will take
effect:

1) Stop all KVM guest virtual machines.

2) Either reboot the hypervisor machine or, as the root user, remove (using
&quot;modprobe -r [module]&quot;) and reload (using &quot;modprobe [module]&quot;) all of the
following modules which are currently running (determined using &quot;lsmod&quot;):
kvm, ksm, kvm-intel or kvm-amd.

3) Restart the KVM guest virtual machines.    </Description>      <URL>https://rhn.redhat.com/errata/RHSA-2012-0676.html</URL></Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.redhat.com/security/data/cve/CVE-2012-1601.html</URL>
        <Description>CVE-2012-1601</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.redhat.com/show_bug.cgi?id=808199</URL>
        <Description>bz#808199: CVE-2012-1601 kernel: kvm: irqchip_in_kernel() and vcpu-&gt;arch.apic inconsistency</Description>
      </Reference>
    </References>
  </Vulnerability>

  <Vulnerability Ordinal="2" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
    <Notes><Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">A flaw was found in the way device memory was handled during guest device removal. Upon successful device removal, memory used by the device was not properly unmapped from the corresponding IOMMU or properly released from the kernel, leading to a memory leak. A malicious user in the kvm group on the host who has the ability to assign a device to a guest could use this flaw to crash the host. </Note></Notes>
    <DiscoveryDate>2012-04-11T00:00:00Z</DiscoveryDate>
    <ReleaseDate>2012-03-29T00:00:00Z</ReleaseDate>
    <Involvements><Involvement Party="Vendor" Status="Completed"></Involvement></Involvements>
    <CVE>CVE-2012-2121</CVE>
    <ProductStatuses><Status Type="Fixed">
      <ProductID>5Client-VT-5.8.Z:kvm-83-249.el5_8.4</ProductID>
      <ProductID>5Server-VT-5.8.Z:kvm-83-249.el5_8.4</ProductID>
    </Status></ProductStatuses>
    <Threats><Threat Type="Impact"><Description>Moderate</Description></Threat></Threats>
    <CVSSScoreSets><ScoreSet>
      <BaseScore>5.2</BaseScore>
      <Vector>AV:A/AC:M/Au:S/C:N/I:N/A:C</Vector>
    </ScoreSet></CVSSScoreSets>
    <Remediations>
      <Remediation Type="Vendor Fix"><Description xml:lang="en">
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

The following procedure must be performed before this update will take
effect:

1) Stop all KVM guest virtual machines.

2) Either reboot the hypervisor machine or, as the root user, remove (using
&quot;modprobe -r [module]&quot;) and reload (using &quot;modprobe [module]&quot;) all of the
following modules which are currently running (determined using &quot;lsmod&quot;):
kvm, ksm, kvm-intel or kvm-amd.

3) Restart the KVM guest virtual machines.    </Description>      <URL>https://rhn.redhat.com/errata/RHSA-2012-0676.html</URL></Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.redhat.com/security/data/cve/CVE-2012-2121.html</URL>
        <Description>CVE-2012-2121</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.redhat.com/show_bug.cgi?id=814149</URL>
        <Description>bz#814149: CVE-2012-2121 kvm: device assignment page leak</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
