Bug 878841 - (CVE-2014-3967) VUL-1: XSA-96: Xen: Vulnerabilities in HVM MSI injection
(CVE-2014-3967)
VUL-1: XSA-96: Xen: Vulnerabilities in HVM MSI injection
Status: VERIFIED WONTFIX
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P3 - Medium : Normal
: ---
Assigned To: Charles Arnold
Security Team bot
maint:released:sle11-sp3:59232
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-20 13:06 UTC by Sebastian Krahmer
Modified: 2015-02-19 10:02 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Krahmer 2014-05-20 13:06:20 UTC
Xen Security Advisory XSA-96

                Vulnerabilities in HVM MSI injection

              *** EMBARGOED UNTIL 2014-06-03 12:00 UTC ***

ISSUE DESCRIPTION
=================

The implementation of the HVM control operation HVMOP_inject_msi, while
checking whether a particular IRQ was already set up in the necessary
way, fails to properly check all respective conditions. In particular
it doesn't check the returned pointer for being non-NULL before de-
referencing it.

Furthermore that same code also handles certain errors by logging
messages, without (under default settings) at least making these
messages subject to rate limiting.

IMPACT
======

The NULL pointer de-reference would lead to a host crash, and hence a
denial of service would result. Since host and guest page tables are
fully separated for HVM guests, the guest would not be able to leverage
the vulnerability for other kinds of attacks (privilege escalation or
information leak).

The spamming of the hypervisor log could similarly lead to a denial of
service.

In a configuration where device models run with limited privilege (for
example, stubdom device models), a guest attacker who successfully
finds and exploits an unfixed security flaw in qemu-dm could leverage
the other flaw into a Denial of Service affecting the whole host.

In the more general case, in more abstract terms: a malicious
administrator of a domain privileged with regard to an HVM guest can
cause Xen to become unresponsive leading to a Denial of Service.

VULNERABLE SYSTEMS
==================

All Xen versions from 4.2 onwards are vulnerable.

The vulnerability is only exposed to service domains for HVM guests
which have privilege over the guest.  In a usual configuration that
means only device model emulators (qemu-dm).

In the case of HVM guests whose device model is running in an
unrestricted dom0 process, qemu-dm already has the ability to cause
problems for the whole system.  So in that case the vulnerability is
not applicable.

The situation is more subtle for an HVM guest with a stub qemu-dm.
That is, where the device model runs in a separate domain (in the case
of xl, as requested by "device_model_stubdomain_override=1" in the xl
domain configuration file).  The same applies with a qemu-dm in a dom0
process subjected to some kind kernel-based process privilege
limitation (eg the chroot technique as found in some versions of
XCP/XenServer).

In those latter situations this issue means that the extra isolation
does not provide as good a defence (against denial of service) as
intended.  That is the essence of this vulnerability.

However, the security is still better than with a qemu-dm running as
an unrestricted dom0 process.  Therefore users with these
configurations should not switch to an unrestricted dom0 qemu-dm.

Finally, in a radically disaggregated system: where the HVM service
domain software (probably, the device model domain image) is not
always supplied by the host administrator, a malicious service domain
administrator can exercise this vulnerability.


MITIGATION
==========

Running only PV guests will avoid this vulnerability.

In a radically disaggregated system, restricting HVM service domains
to software images approved by the host administrator will avoid the
vulnerability.

RESOLUTION
==========

Applying the attached patch resolves this issue.

xsa96.patch        xen-unstable, Xen 4.4.x, Xen 4.3.x, Xen 4.2.x

$ sha256sum xsa96*.patch
1b64beddf8f6e9c08af24676551c18fd778a8db65a6c24fec07cc7e95531e2af  xsa96.patch
$
Comment 1 Sebastian Krahmer 2014-05-20 13:08:01 UTC
Created attachment 591109 [details]
attached patch

.
Comment 2 Swamp Workflow Management 2014-05-21 07:07:31 UTC
bugbot adjusting priority
Comment 3 Johannes Segitz 2014-06-04 15:35:58 UTC
From: cve-assign () mitre org
Date: Wed, 4 Jun 2014 10:56:45 -0400 (EDT)

> HVMOP_inject_msi ... doesn't check the returned pointer for being
> non-NULL before dereferencing

Use CVE-2014-3967.

> handles certain errors by logging messages, without ... rate limiting
> ... spamming of the hypervisor

Use CVE-2014-3968.
Comment 4 Alexander Bergmann 2014-06-10 09:13:36 UTC
Jan/Charles can you clarify affectedness?
Comment 5 Jan Beulich 2014-06-10 09:50:31 UTC
Since we don't build or support stubdom, and since we don't support any other form of disaggregation this again is "just a bug" for us.
Comment 6 Alexander Bergmann 2014-08-26 14:03:46 UTC
Closing as not affecting us.
Comment 7 Swamp Workflow Management 2014-10-09 11:07:19 UTC
openSUSE-SU-2014:1279-1: An update that solves 10 vulnerabilities and has 8 fixes is now available.

Category: security (important)
Bug References: 798770,820873,833483,842006,858178,862608,864801,865682,867910,878841,880751,881900,891539,895798,895799,895802,896023,897657
CVE References: CVE-2013-4344,CVE-2013-4540,CVE-2014-2599,CVE-2014-3967,CVE-2014-3968,CVE-2014-4021,CVE-2014-7154,CVE-2014-7155,CVE-2014-7156,CVE-2014-7188
Sources used:
openSUSE 12.3 (src):    xen-4.2.4_04-1.32.1
Comment 8 Swamp Workflow Management 2014-10-09 11:10:23 UTC
openSUSE-SU-2014:1281-1: An update that solves 10 vulnerabilities and has four fixes is now available.

Category: security (important)
Bug References: 798770,820873,842006,864801,865682,875668,878841,880751,882127,895798,895799,895802,896023,897657
CVE References: CVE-2013-4344,CVE-2013-4540,CVE-2014-3124,CVE-2014-3967,CVE-2014-3968,CVE-2014-4021,CVE-2014-7154,CVE-2014-7155,CVE-2014-7156,CVE-2014-7188
Sources used:
openSUSE 13.1 (src):    xen-4.3.2_02-27.1
Comment 9 Swamp Workflow Management 2014-10-22 23:07:01 UTC
SUSE-SU-2014:1318-1: An update that solves 10 vulnerabilities and has 7 fixes is now available.

Category: security (moderate)
Bug References: 798770,833483,842006,858178,862608,864801,865682,867910,878841,880751,881900,882092,891539,895798,895799,895802,897657
CVE References: CVE-2013-4344,CVE-2013-4540,CVE-2014-2599,CVE-2014-3967,CVE-2014-3968,CVE-2014-4021,CVE-2014-7154,CVE-2014-7155,CVE-2014-7156,CVE-2014-7188
Sources used:
SUSE Linux Enterprise Software Development Kit 11 SP3 (src):    xen-4.2.4_04-0.9.1
SUSE Linux Enterprise Server 11 SP3 (src):    xen-4.2.4_04-0.9.1
SUSE Linux Enterprise Desktop 11 SP3 (src):    xen-4.2.4_04-0.9.1