Information

AdvisoryXSA-124
Public release 2015-03-10 12:00
Updated 2015-03-10 12:00
Version 2
CVE(s) none (yet) assigned
Title Non-standard PCI device functionality may render pass-through insecure

Files

advisory-124.txt (signed advisory file)

Advisory


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

                    Xen Security Advisory XSA-124
                              version 2

  Non-standard PCI device functionality may render pass-through insecure

UPDATES IN VERSION 2
====================

Clarify scope.  PCI config space backdoors are just one example.
Provide more examples of potential problems.  Provide some additional
mitigation options.

Public release.

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

Devices with capabilities or defects that are undocumented or that
virtualization software is unaware of may allow guests to control
parts of the host that they shouldn't be in control of.  Here are some
examples of the kind of problem:

* While XSA-120 deals with standard PCI config space accesses to the
  PCI control word, various devices have alternative methods to read
  and modify config space values.  A guest which has been given such a
  device can definitely cause a host DoS; worse attacks cannot be
  ruled out.

* Devices which are physically integrated into the system chipset
  might have undocumented direct access to memory or other resources
  (as well as the documented access via the IOMMU).  A guest with such
  a device is likely to be able to gain control of the host.

* Many devices permit (or require) the loading or updating of the
  firmware on the device.  Bad firmware is likely to be able to
  violate the PCI protocols (depending on the physical circuitry on
  the device).  The impact of such violations is difficult to assess
  in the abstract.

  Malicious firmware might also be able to cause electrical problems
  for the PCI bus, system power supply, and other circuitry.  This
  could be used to mount fault-injection attacks, or even to cause
  damage to hardware.

  Again, this will depend on the details of the device, but in general
  defending against bad firmware would require additional electronics.
  Therefore the Xen Project Security Team expects that devices which
  support firmware loading are unlikely to be robust against malicious
  firmware unless that robustness has been specifically engineered.

Since the details are device specific, special workarounds would need
to be developed for any such device for which secure pass-through is
desired.  Developing such workarounds is a task presenting multiple
challenges, particularly since the hardware details are often not
officially documented, and is beyond the scope of normal security
fixes.

The Xen Project Security Team is therefore adopting an exceptional
process for these kind of problems.  See below for details of that
exceptional process, and for the scope of the exception.

IMPACT
======

Passing through a device providing such mechanisms, which bypass or
subvert the software layers that ensure security and correctness, may
expose the host to guest induced information leaks, host crashes, and
privilege escalation.

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

Only systems where physical PCI devices are passed through to
untrusted guests are affected.

All hypervisors supporting PCI passthrough are exposed to this kind of
problem; this includes all versions of Xen which support PCI
passthrough.

Only x86 Xen systems are currently affected.  ARM systems are not
currently affected when running Xen due to not supporting
pass-through.  However once this feature is implemented ARM systems
will become vulnerable to this class of bugs and subject to the
exceptional handling described in this advisory.

Devices specifically designed and advertised for secure PCI
passthrough (for example, SR-IOV virtual functions) are outside the
scope of this advisory, and outside the process exception.  We are not
aware of problems with any such devices at the present time, and any
vulnerabilities which we become aware of will be handled in the normal
way.

Any other PCI devices might cause vulnerablities, and are subject to
the exception.  Whether a specific system is actually vulnerable
depends on the characteristics of the PCI device being passed through:

* The device behaviour will usually depend on the specific firmware
  loaded onto the device itself; if such firmware is (or can be)
  loaded by guests, the device is probably vulnerable (unless its
  manufacturer has specifically advertised to the contrary).

* Other devices should be assumed to be vulnerable unless the complete
  functionality is known, and has been reviewed in the context of PCI
  passthrough security.

MITIGATION
==========

Not passing through any physical devices to guests will avoid this
vulnerability.

This vulnerability can also be avoided by only passing through devices
the entire scope of whose functionality is known and has been reviewed
for PCI passthrough security and correctness, or only devices
specifically and correctly designed to be passed through in a secure
manner (for example, SR-IOV virtual functions).

If the functionality of a PCI device needs to be exposed to an
untrusted guest, PCI passthrough related vulnerabilities can be
avoided by offering the guest that functionality via a higher-level
protocol.  For example: rather than PCI passthrough of a storage
controller, offer the guest Xen paravirtualised block devices, or
configure the guest as a client for a SAN protocol (such as NBD or
iSCSI); rather than passing through a graphics controller, provide the
guest with a Xen paravirtualised framebuffer, or have the guest export
applications via a network terminal protocol (such as X11 or VNC).

RESOLUTION
==========

For affected devices, no reasonable resolution in software is
possible.

"Unreasonable" resolution might be possible for specific devices,
where the complete scope of the device's functionality is known.  In
such a case it might be possible to write device-specific workaround
code to eliminate the vulnerabilities.  The Xen Project Security Team
does not intend to develop software along those lines.

NOTE REGARDING CVE
==================

MITRE have provisionally concluded that this Xen Security Advisory
does not describe a vulnerability for which they should issue a CVE
Identifier.

PROCESS FOR HARDWARE RELATED PASS-THROUGH VULNERABILITIES
=========================================================

Unless affected hardware is specifically declared to be secure when
used with PCI passthrough, the Xen Project Security Team intends
(subject of course to the permission of anyone disclosing to us) to
handle these and future hardware related PCI pass-through
vulnerabilities in public, as if they were normal non-security-related
bugs.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJU/tzbAAoJEIP+FMlX6CvZWdMH/13dCkBkpLSn4b3CM+637TmC
sPGFiS40Q1n1bipGxiug1YoRUsSljDt1kUhGOlYEriPfISkR/XoH2O/3hTnntEKS
FTqUt7KLdNKRNif17tyrSuBG9sZy3JHTH0b5tjlOulSUp7pY8UoalwJD0YJpPGv/
BFlP4aySZs9etTfIyN/yfv06zbl+8znZlA1AwTr0UVm7p4Dwz2pMUmfF5N5AVQXS
ruWNqnjLjqTleGgG9ZTMLDgPXuylKuFab4BFPeOMqP7p0RoWd4gJV2O7LhHFM0c3
KxCcUtDJolu5QSSsEKq6arWpb1IzzvZ7vXTmaYyw5zdmUR8P5VvE/O2rY2PBM2Q=
=bgFa
-----END PGP SIGNATURE-----


Xenproject.org Security Team