UPDATE: DFN-CERT-2017-1071 Xen: Mehrere Schwachstellen ermöglichen u.a. die Eskalation von Privilegien [Linux][Fedora]

Liebe Kolleginnen und Kollegen,

bitte beachten Sie die folgende Sicherheitsmeldung.

Historie:
Version 2 (23.06.2017):
Für Fedora 26 steht ein Sicherheitsupdate für Xen zur Behebung der
genannten Schwachstellen im Status ‘testing’ bereit.
Version 1 (22.06.2017):
Neues Advisory

Betroffene Software:

QEMU
Xen 4.4.x
Xen 4.5.x
Xen 4.6.x
Xen 4.7.x
Xen 4.8.x

Betroffene Plattformen:

QEMU
Red Hat Fedora 26
Xen

Ein einfach authentisierter Angreifer im benachbarten Netzwerk kann mehrere
Schwachstellen in Xen ausnutzen, um seine Privilegien zu eskalieren,
verschiedene Denial-of-Service (DoS)-Angriffe gegen Guest- oder Host-Systeme
durchzuführen und sensitive Informationen auszuspähen. Eine der
Schwachstellen betrifft auch QEMU (XSA-216).

Der Hersteller bestätigt die verschiedenen Schwachstellen in Xen für Systeme
mit x86- und / oder ARM-Architektur und stellt Patches zur Behebung der
einzelnen Schwachstellen zur Verfügung. Betroffen sind alle aktuellen
Versionszweige von Xen. Für ältere Versionszweige stehen keine Informationen
zur Verfügung.

Patch:

Xen Security Advisory XSA-216: blkif responses leak backend stack data

https://xenbits.xen.org/xsa/advisory-216.html

Patch:

Xen Security Advisory XSA-217: page transfer may allow PV guest to elevate
privilege

https://xenbits.xen.org/xsa/advisory-217.html

Patch:

Xen Security Advisory XSA-218: page transfer may allow PV guest to elevate
privilege

https://xenbits.xen.org/xsa/advisory-218.html

Patch:

Xen Security Advisory XSA-219: x86: insufficient reference counts during
shadow emulation

https://xenbits.xen.org/xsa/advisory-219.html

Patch:

Xen Security Advisory XSA-220: x86: PKRU and BND* leakage between vCPU-s

https://xenbits.xen.org/xsa/advisory-220.html

Patch:

Xen Security Advisory XSA-221: NULL pointer deref in event channel poll

https://xenbits.xen.org/xsa/advisory-221.html

Patch:

Xen Security Advisory XSA-222: stale P2M mappings due to insufficient error
checking

https://xenbits.xen.org/xsa/advisory-222.html

Patch:

Xen Security Advisory XSA-223: ARM guest disabling interrupt may crash Xen

https://xenbits.xen.org/xsa/advisory-223.html

Patch:

Xen Security Advisory XSA-224: grant table operations mishandle reference
counts

https://xenbits.xen.org/xsa/advisory-224.html

Patch:

Xen Security Advisory XSA-225: arm: vgic: Out-of-bound access when sending
SGIs

https://xenbits.xen.org/xsa/advisory-225.html

Patch:

Fedora Security Update FEDORA-2017-5c6a9b07a3 (xen-4.8.1-4.fc26)

https://bodhi.fedoraproject.org/updates/FEDORA-2017-5c6a9b07a3

XSA-225: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff

In Xen Versionen 4.6 und aufwärts auf ARM-Systemen existiert eine
Schwachstelle aufgrund fehlender Bereinigung von Listen virtueller CPUs,
wodurch es zu einem Zugriff auf ein Array außerhalb der Grenzen für den
Array-Index kommen kann. Gastbenutzer können SGIs (z.B. IPI) unter
Verwendung des MMIO Registers GICD_SGIR (GICv2) oder des System Registers
ICC_SGI1R (GICv3) an eine Liste von vCPUs senden und dadurch den Hypervisor
zum Absturz bringen. Ein einfach authentisierter Angreifer im benachbarten
Netzwerk kann einen Denial-of-Service (DoS)-Angriff durchführen.

XSA-224: Schwachstelle in Xen ermöglicht Privilegieneskalation

In allen unterstützten Xen Versionen auf x86-Systemen existieren eine Reihe
von Schwachstellen im Kontext von Code Mapping und Unmapping Grant
Referenzen. Wenn das Mapping beispielsweise mit ‘GNTMAP_device_map’ und
‘GNTMAP_host_map’ Flags stattfindet, aber das Unmapping lediglich mit
‘host_map’, bleibt der ‘device_map’-Anteil erhalten, obwohl der Zähler der
Seitenreferenz erniedrigt wird, als wäre er entfernt worden. Unter
bestimmten Umständen, wenn das Mapping mit ‘GNTMAP_device_map’ und
‘GNTMAP_host_map’ Flags stattfindet, wird der Typenzähler bei diesem Vorgang
nicht hinreichend erhöht. Beim Unmapping wird der Typenzähler anschließend
fehlerhaft erniedrigt. In beiden Fällen bleiben beschreibbare Mappings auf
die jeweilige Seite übrig. Ein PV Gastbenutzer kann das ausnutzen, um ein
beschreibbares Mapping seiner eigenen Pagetable zu erlangen. Ein einfach
authentisierter Angreifer im benachbarten Netzwerk kann so im schlimmsten
Fall seine Privilegien auf die des Host-Systems eskalieren.

XSA-223: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff

In allen unterstützten Xen Versionen auf ARM-Systemen existiert eine
Schwachstelle aufgrund fehlender Prüfungen auf Virtual Interrupt Injection.
Ein Gastbenutzer kann dies ausnutzen, indem er SGIs (z.B. IPI) an irgendeine
vCPU sendet, oder durch Konfigurieren eines Timers, um durch einen
maskierten Interrupt ein ungültiges Hardware Register zu lesen oder den Host
zum Absturz bringen. Ein einfach authentisierter Angreifer im benachbarten
Netzwerk kann einen Denial-of-Service (DoS)-Angriff durchführen.

XSA-222: Schwachstelle in Xen ermöglicht Privilegieneskalation,
Denial-of-Service-Angriff und Ausspähen von Informationen

In Xen Versionen mindestens von Version 3.2 aufwärts auf x86- und
ARM-Systemen existiert eine Schwachstelle bei der Entfernung großer Seiten
(Pages) vom P2M (Physical-to-Machine) Mapping eines Gastes. Hierbei findet
eine Allokation von Speicher statt, um das große Mapping durch ein
individuelles kleineres Mapping zu ersetzen. Wenn diese Allokation etwa
fehlschlägt, werden die Fehler durch Aufrufer ignoriert, wodurch diese
fortsetzen und beispielsweise die referenzierte Seite zur neuen Verwendung
freigeben können. Der Gast behält dadurch ein Mapping auf eine Speicherseite
(Page), auf welche er keinen Zugriff haben sollte. Ein einfach
authentisierter Angreifer im benachbarten Netzwerk kann dies ausnutzen, um
seine Privilegien zu eskalieren, den Host zum Absturz zu bringen
(Denial-of-Service) oder um Informationen auszuspähen. Auf x86-Systemen kann
diese Schwachstelle nur von HVM-Gastbenutzern ausgenutzt werden.

XSA-221: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff und
Ausspähen von Informationen

In Xen Versionen 4.4 und aufwärts auf x86- und ARM-Systemen existiert eine
Schwachstelle aufgrund fehlender Prüfungen, ob bestimmte im Rahmen einer
Weiterentwicklung zwischengeschaltete Zeiger nicht den Wert NULL haben. Beim
Abfragen (Polling) von Event Channels können normalerweise beliebige
Port-Nummern spezifiziert werden. Insbesondere besteht nicht die
Anforderung, dass abgefragte Event Channel Ports jemals erzeugt worden sind.
Ein schädlicher oder fehlerhafter Gast kann dadurch bewirken, dass der
Hypervisor auf Adressen zugreift, die er nicht kontrolliert, wodurch es
gewöhnlich zu einem Absturz des Hosts kommt. Ein Informationsleck kann nicht
ausgeschlossen werden. Ein einfach authentisierter Angreifer im benachbarten
Netzwerk kann diese Schwachstelle ausnutzen, um einen Denial-of-Service
(DoS)-Angriff durchzuführen oder, allerdings nur als x86 PV-Gastbenutzer, um
möglicherweise Informationen auszuspähen.

XSA-220: Schwachstelle in Xen ermöglicht Ausspähen von Informationen

In Xen 4.4 und früher auf x86-Systemen existiert eine Schwachstelle. Die
Funktionalitäten Memory Protection Extensions (MPX) und Protection Key (PKU)
stehen für Prozessoren neuerer Bauart zur Verfügung, deren ‘State’ als ‘pro
Thread’ festgelegt wird und der sich mit allen anderen XSAVE-States
kontextabhängig ändert. Die Verwendung dieser Funktionalitäten ist aber
vollkommen (PKU) oder möglicherweise (MPX) von den XSTATE-Bits unabhängig.
Dadurch werden States in Virtual Machines zwischen verschiedenen vCPUs offen
gelegt, falls diese manuell statt über XSTATE gewechselt werden. Ein
lokaler, einfach authentisierter Angreifer kann aus diesen
Kontrollinformationen Informationen über Zeiger in den Gast-Adressraum
ausspähen. Dadurch wird die Address Space Randomisation (ASR) abgeschwächt
und weitere Angriffe werden vereinfacht.

XSA-219: Schwachstelle in Xen ermöglicht Privilegieneskalation

In allen aktuellen Versionen von Xen auf x86-Systemen existiert zwischen
Ausblenden und Schreibvorgang auf ‘Pagetables’ von Gastsystemen ein kurzes
Zeitfenster, in dem ein emulierter Schreibvorgang komplett unter Kontrolle
eines (zweiten) Gastsystems ist. Benutzer zweier Gastsysteme können dadurch
in Kombination ihre Privilegien auf die des Xen-Prozesses erweitern.
Möglicherweise ist die Privilegieneskalation auch durch ein einzelnes
HVM-Gastsystem durchführbar.

XSA-218: Schwachstellen in Xen ermöglichen Privilegieneskalation,
Denial-of-Service-Angriff und Ausspähen von Informationen

Im Programmcode zum Ausblenden von ‘Grant’-Referenzen in allen Versionen von
Xen auf x86- und ARM-Systemen existieren zwei Schwachstellen. Falls ein
‘Grant’ doppelt von einer Backend-Domäne eingeblendet wurde und diese zwei
gleichzeitige Aufrufe zum Ausblenden des ‘Grants’ erhält, wird diese
Information zu früh an das Frontend weitergegeben. Dadurch erhält ein
einfach authentisierter Angreifer im benachbarten Netzwerk ein kleines
Zeitfenster, in dem er auf Frontend-Speicher zugreifen kann. Dadurch können
Informationen ausgespäht oder die Privilegien vom Backend auf das Frontend
erweitert werden. Im zweiten untersuchten Fall wird der ‘Maptrack Entry’
eines ‘Grants’ möglicherweise doppelt freigegeben. Die Auswirkungen sind
hier nicht vollständig klar. Neben einem Denial-of-Service (DoS)-Angriff auf
das Gastsystem sind auch das Ausspähen von Informationen oder die Eskalation
von Privilegien denkbar. Auf x86-Architekturen sind nur Systeme mit entweder
PV- oder HVM-Gastbenutzern verwundbar.

XSA-217: Schwachstelle in Xen ermöglicht Privilegieneskalation,
Denial-of-Service-Angriff und Ausspähen von Informationen

In allen aktuellen Versionen von Xen auf x86-Systemen existiert eine
Schwachstelle. Domänen, welche die Kontrolle über andere Domänen haben, sind
dazu in der Lage, Speicherseiten der kontrollierten Domäne selbst
einzublenden. Beim Ausblenden solch einer Speicherseite kann es zu einem
kritischen Wettlauf kommen, falls der Translation Lookaside Buffer (TLB)
nicht sofort bereinigt wird. Benutzer zweier Gastsysteme können zusammen als
einfach authentisierte Angreifer im benachbarten Netzwerk auf den gesamten
Systemspeicher eines dritten Gastsystems zugreifen, indem sie eine
Speicherseite an dieses System transferieren. Dadurch können sie
Informationen ausspähen, ihre Privilegien eskalieren oder das Hostsystem zum
Absturz bringen. Es sind alle Versionen von Xen verwundbar, bei denen sowohl
HVM- als auch PV-Gastsysteme eingesetzt werden.

XSA-216: Schwachstelle in Xen / QEMU ermöglicht Ausspähen von Informationen

Die Response-Struktur von Block Interfaces hat mehrere nicht
zusammenhängende Felder. Einige Backends verwenden diese Felder in sonst
nicht initialisierten Instanzen dieser Struktur in ihren Stacks, wodurch
sensitive Daten offengelegt werden können. Ein einfach authentisierter
Angreifer im benachbarten Netzwerk kann ohne besondere Privilegien
Informationen aus dem Host- oder anderen Gastsystemen ausspähen. Die
Schwachstelle betrifft alle Linux-Versionen, die ‘xen-blkback’, ‘blkback’
oder ‘blktap’-Treiber unterstützen und alle Versionen von QEMU, die das ‘Xen
Block Backend’ unterstützen.

Referenzen:

Dieses Advisory finden Sie auch im DFN-CERT Portal unter:
https://portal.cert.dfn.de/adv/DFN-CERT-2017-1071/

Xen Security Advisory XSA-216: blkif responses leak backend stack data:
https://xenbits.xen.org/xsa/advisory-216.html

Xen Security Advisory XSA-217: page transfer may allow PV guest to elevate
privilege:
https://xenbits.xen.org/xsa/advisory-217.html

Xen Security Advisory XSA-218: page transfer may allow PV guest to elevate
privilege:
https://xenbits.xen.org/xsa/advisory-218.html

Xen Security Advisory XSA-219: x86: insufficient reference counts during
shadow emulation:
https://xenbits.xen.org/xsa/advisory-219.html

Xen Security Advisory XSA-220: x86: PKRU and BND* leakage between vCPU-s:
https://xenbits.xen.org/xsa/advisory-220.html

Xen Security Advisory XSA-221: NULL pointer deref in event channel poll:
https://xenbits.xen.org/xsa/advisory-221.html

Xen Security Advisory XSA-222: stale P2M mappings due to insufficient error
checking:
https://xenbits.xen.org/xsa/advisory-222.html

Xen Security Advisory XSA-223: ARM guest disabling interrupt may crash Xen:
https://xenbits.xen.org/xsa/advisory-223.html

Xen Security Advisory XSA-224: grant table operations mishandle reference
counts:
https://xenbits.xen.org/xsa/advisory-224.html

Xen Security Advisory XSA-225: arm: vgic: Out-of-bound access when sending
SGIs:
https://xenbits.xen.org/xsa/advisory-225.html

Fedora Security Update FEDORA-2017-5c6a9b07a3 (xen-4.8.1-4.fc26):
https://bodhi.fedoraproject.org/updates/FEDORA-2017-5c6a9b07a3

(c) DFN-CERT Services GmbH, all rights reserved!
Die Weiterverbreitung ist mit Hinweis auf den Copyrightinhaber innerhalb der
eigenen Einrichtung erlaubt. Eine darüber hinausgehende Verbreitung bedarf
des schriftlichen Einverständnisses des Rechteinhabers.

Nach oben