Articles / Debian: Security update for…

Debian: Security update for xen

Multiple denial of service vulnerabilities have been discovered in the xen hypervisor. One of the issue could even lead to privilege escalation from guest to host. A VM that controls a PCIE device directly can cause it to issue DMA requests to invalid addresses. Although these requests are denied by the I/OMMU, the hypervisor needs to handle the interrupt and clear the error from the I/OMMU, and this can be used to live-lock a CPU and potentially hang the host. A guest which sets a VCPU with an inappropriate deadline can cause an infinite loop in Xen, blocking the affected physical CPU indefinitely.

When set_p2m_entry fails, Xen’s internal data structures (the p2m and m2p tables) can get out of sync. This failure can be triggered by unusual guest behaviour exhausting the memory reserved for the p2m table. If it happens, subsequent guest-invoked memory operations can cause Xen to fail an assertion and crash. The HVMOP_pagetable_dying hypercall does not correctly check the caller’s pagetable state, leading to a hypervisor crash. Due to inappropriate duplicate use of the same loop control variable, passing bad arguments to GNTTABOP_get_status_frames can cause an infinite loop in the compat hypercall handler.

Downgrading the grant table version of a guest involves freeing its status pages. This freeing was incomplete - the page(s) are freed back to the allocator, but not removed from the domain’s tracking list. This would cause list corruption, eventually leading to a hypervisor crash. The handler for XENMEM_exchange accesses guest memory without range checking the guest provided addresses, thus allowing these accesses to include the hypervisor reserved range. guest_physmap_mark_populate_on_demand(), before carrying out its actual operation, checks that the subject GFNs are not in use. If that check fails, the code prints a message and bypasses the gfn_unlock() matching the gfn_lock() carried out before entering the loop.

Allowing arbitrary extent_order input values for XENMEM_decrease_reservation, XENMEM_populate_physmap, and XENMEM_exchange can cause arbitrarily long time being spent in loops without allowing vital other code to get a chance to execute. This may also cause inconsistent state resulting at the completion of these hypercalls.

Updated packages are available from security.debian.org.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

- -------------------------------------------------------------------------
Debian Security Advisory DSA-2582-1                   security@debian.org
http://www.debian.org/security/                         Yves-Alexis Perez
December 07, 2012                      http://www.debian.org/security/faq
- -------------------------------------------------------------------------

Package        : xen
Vulnerability  : several
Problem type   : local
Debian-specific: no
CVE ID         : CVE-2011-3131 CVE-2012-4535 CVE-2012-4537 CVE-2012-4538 
                CVE-2012-4539 CVE-2012-5510 CVE-2012-5513 CVE-2012-5514
                CVE-2012-5515
Debian Bug     : 

Multiple denial of service vulnerabilities have been discovered in the xen
hypervisor. One of the issue (CVE-2012-5513) could even lead to privilege
escalation from guest to host.

Some of the recently published Xen Security Advisories (XSA 25 and 28) are not
fixed by this update and should be fixed in a future release.

CVE-2011-3131 (XSA 5): DoS using I/OMMU faults from PCI-passthrough guest

  A VM that controls a PCI[E] device directly can cause it to issue DMA
  requests to invalid addresses. Although these requests are denied by the
  I/OMMU, the hypervisor needs to handle the interrupt and clear the error from
  the I/OMMU, and this can be used to live-lock a CPU and potentially hang the
  host.

CVE-2012-4535 (XSA 20): Timer overflow DoS vulnerability

  A guest which sets a VCPU with an inappropriate deadline can cause an
  infinite loop in Xen, blocking the affected physical CPU indefinitely.

CVE-2012-4537 (XSA 22): Memory mapping failure DoS vulnerability

  When set_p2m_entry fails, Xen's internal data structures (the p2m and m2p
  tables) can get out of sync. This failure can be triggered by unusual guest
  behaviour exhausting the memory reserved for the p2m table. If it happens,
  subsequent guest-invoked memory operations can cause Xen to fail an assertion
  and crash.

CVE-2012-4538 (XSA 23): Unhooking empty PAE entries DoS vulnerability

  The HVMOP_pagetable_dying hypercall does not correctly check the
  caller's pagetable state, leading to a hypervisor crash.

CVE-2012-4539 (XSA 24): Grant table hypercall infinite loop DoS vulnerability

  Due to inappropriate duplicate use of the same loop control variable,
  passing bad arguments to GNTTABOP_get_status_frames can cause an
  infinite loop in the compat hypercall handler.

CVE-2012-5510 (XSA 26): Grant table version switch list corruption vulnerability

  Downgrading the grant table version of a guest involves freeing its status
  pages. This freeing was incomplete - the page(s) are freed back to the
  allocator, but not removed from the domain's tracking list. This would cause
  list corruption, eventually leading to a hypervisor crash.

CVE-2012-5513 (XSA 29): XENMEM_exchange may overwrite hypervisor memory

  The handler for XENMEM_exchange accesses guest memory without range checking
  the guest provided addresses, thus allowing these accesses to include the
  hypervisor reserved range.
  .
  A malicious guest administrator can cause Xen to crash. If the out of address
  space bounds access does not lead to a crash, a carefully crafted privilege
  escalation cannot be excluded, even though the guest doesn't itself control
  the values written.

CVE-2012-5514 (XSA 30): Broken error handling in guest_physmap_mark_populate_on_demand()

  guest_physmap_mark_populate_on_demand(), before carrying out its actual
  operation, checks that the subject GFNs are not in use. If that check fails,
  the code prints a message and bypasses the gfn_unlock() matching the
  gfn_lock() carried out before entering the loop.
  .
  A malicious guest administrator can then use it to cause Xen to hang.

CVE-2012-5515 (XSA 31): Several memory hypercall operations allow invalid extent order values

  Allowing arbitrary extent_order input values for XENMEM_decrease_reservation,
  XENMEM_populate_physmap, and XENMEM_exchange can cause arbitrarily long time
  being spent in loops without allowing vital other code to get a chance to
  execute. This may also cause inconsistent state resulting at the completion
  of these hypercalls.

For the stable distribution (squeeze), these problems have been fixed in
version 4.0.1-5.5.

For the testing distribution (wheezy), these problems have been fixed in
version 4.1.3-6.

For the unstable distribution (sid), these problems have been fixed in
version 4.1.3-6.

We recommend that you upgrade your xen packages.

Further information about Debian Security Advisories, how to apply
these updates to your system and frequently asked questions can be
found at: http://www.debian.org/security/

Mailing list: debian-security-announce@lists.debian.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQEcBAEBCgAGBQJQwg38AAoJEG3bU/KmdcCltWAH/0/AVD1NVvpzTz3gl5dYIwHm
kgUJIOtD0S1uESgs9KMtW+q3VzyRXBB17VzEh5la+jBkUbyc98juRViiGMi2JGai
mJxuNzxlXWRYO0TI5wO0WEjhItbxZK1PCGIssfcQ9oIDgGwooTUOAKxQx08nJ7mJ
fKtlcop9MRYNoDu8n7KHq3EwmuQNzwpEZYPVgl/uemRoL8eWzKRr34ZC4i5eBgLR
9FB/Xk61Bp944PslTUb7aZI2SK4166j5sMQPrKgr/UygPTJmBd1Fz8GtPhTxYVUh
41aMX+pJLCHdxuPhmb8zGTig7bk8RkdcfktXw8U4p3xE8HuZV1nyYz65z5qyKIY=
=cI9m
-----END PGP SIGNATURE-----
Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.