-----BEGIN PGP SIGNED MESSAGE-----
AUSCERT External Security Bulletin Redistribution
Device quarantine for alternate pci assignment methods
27 November 2019
AusCERT Security Bulletin Summary
Publisher: Xen project
Operating System: UNIX variants (UNIX, Linux, OSX)
Impact/Access: Increased Privileges -- Console/Physical
- --------------------------BEGIN INCLUDED TEXT--------------------
- -----BEGIN PGP SIGNED MESSAGE-----
Xen Security Advisory XSA-306
Device quarantine for alternate pci assignment methods
UPDATES IN VERSION 2
XSA-302 relies on the use of libxl's "assignable-add" feature to
prepare devices to be assigned to untrusted guests.
Unfortunately, this is not considered a strictly required step for
device assignment. The PCI passthrough documentation on the wiki
describes alternate ways of preparing devices for assignment, and
libvirt uses its own ways as well. Hosts where these "alternate"
methods are used will still leave the system in a vulnerable state
after the device comes back from a guest.
An untrusted domain with access to a physical device can DMA into host
memory, leading to privilege escalation.
Only systems where guests are given direct access to physical devices
capable of DMA (PCI pass-through) are vulnerable. Systems which do
not use PCI pass-through are not vulnerable.
Only systems which use "alternate" methods to assign devices to pciback
before assignment are vulnerable. These methods include:
- Assigning devices on the Linux command-line using `xen-pciback.hide`
- Assigning devices via xen-pciback module parameters
- Assigning devices manually via sysfs
- Assigning devices using libvirt
Systems which use `xl pci-assignable-add` or
libxl_device_pci_assignable_add, or have the assignable state handled
automatically via setting the `seize` parameter, are not affected.
For xl and libvirt, before assigning a device to a guest, manually run
`xl pci-assignable-add`. This will quarantine the device even if the
device has already been assigned to pciback by one of the alternate
methods. This may also work for other libxl-based toolstacks,
depending on the particular implementation.
This issue was discovered by Marek Marczykowski-Gorecki of Invisible
Applying the appropriate attached patch resolves this issue.
Note that this patch will quarantine the device after the domain is
destroyed by default. It must be un-quarantined before it can be used
by domain 0 again. This can be done by executing `xl
pci-assignable-remove`. This will be effective even if the device was
assigned to pciback with one of the alternate methods.
xsa306-4.12.patch Xen 4.12.x
xsa306-4.11.patch Xen 4.11.x, Xen 4.10.x
xsa306-4.9.patch Xen 4.9.x, Xen 4.8.x
$ sha256sum xsa306*
DEPLOYMENT DURING EMBARGO
Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).
Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable. This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)
For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
- -----BEGIN PGP SIGNATURE-----
- -----END PGP SIGNATURE-----
- --------------------------END INCLUDED TEXT--------------------
You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to email@example.com
and we will forward your request to the appropriate person.
NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members. As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.
NOTE: This is only the original release of the security bulletin. It may
not be updated when updates to the original are made. If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.
Contact information for the authors of the original document is included
in the Security Bulletin above. If you have any questions or need further
information, please contact them directly.
Previous advisories and external security bulletins can be retrieved from:
Australian Computer Emergency Response Team
The University of Queensland
Internet Email: firstname.lastname@example.org
Facsimile: (07) 3365 7031
Telephone: (07) 3365 4417 (International: +61 7 3365 4417)
AusCERT personnel answer during Queensland business hours
which are GMT+10:00 (AEST).
On call after hours for member emergencies only.
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----