DFN-CERT-2017-0774 Xen: Mehrere Schwachstellen ermöglichen u.a. das Eskalieren von Privilegien [Netzwerk]

Liebe Kolleginnen und Kollegen,

bitte beachten Sie die folgende Sicherheitsmeldung.

Betroffene Software:

Xen

Betroffene Plattformen:

Oracle VM Server 3.2
Oracle VM Server 3.3
Oracle VM Server 3.4

Mehrere Schwachstellen in Xen ermöglichen einem einfach authentisierten
Angreifer seine Privilegien bis hin zu ‘Root’-Berechtigungen zu eskalieren,
beliebigen Programmcode auszuführen, Informationen auszuspähen sowie
verschiedene Denial-of-Service (DoS)-Angriffe durchzuführen. Die Ausnutzung
der Schwachstelle XSA-214 benötigt einen weiteren Gast-Benutzer, der in der
Rolle als Angreifer mitwirken muss.

Für Oracle VM 3.2, Oracle VM 3.3 und Oracle VM 3.4 stehen
Backport-Sicherheitsupdates in Form aktualisierter Pakete in den
Versionszweigen 4.1.3, 4.3.0 bzw. 4.4.4 bereit. Die Sicherheitsupdates für
Oracle VM 3.2 (Version 4.1.3) und Oracle VM 3.3 (4.3.0) beheben die in 2017
bis Anfang Mai veröffentlichten XSA-206 bis XSA-209 und XSA-211 bis XSA-215
sowie die ältere Schwachstelle CVE-2014-8106. Für Oracle VM 3.4 (4.4.4) wird
explizit nur XSA-213 (CVE-2017-7228) aufgeführt, einige der dort
aufgeführten Patches deuten aber auf weitere behobene Schwachstellen hin
(bspw. XSA-206 in Xenstored).

Patch:

Oracle VM Security Advisory OVMSA-2017-0094 (Oracle VM 3.4)

https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000689.html

Patch:

Oracle VM Security Advisory OVMSA-2017-0095 (Oracle VM 3.3)

https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000690.html

Patch:

Oracle VM Security Advisory OVMSA-2017-0096 (Oracle VM 3.2)

https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000691.html

XSA-215: Schwachstelle in Xen ermöglicht Privilegieneskalation

In Xen vor Version 4.7 existiert eine Schwachstelle, wenn Xen nicht über
gewöhnliche Ausnahmebehandlungseinstiegspunkte in den Gast-Modus
zurückkehrt, sondern über den sogenannten ‘Failsafe Callback’, welcher vier
zusätzliche Argumente auf dem Stack platziert. Bevor die Datenframes einer
Ausnahmebehandlung oder eines ‘Failsafe Callback’ auf den Gast-Kernel-Stack
platziert werden, prüft Xen den linearen Adressbereich, um nicht mit dem
Speicher des Hypervisors zu überlappen. Dabei werden die vier zusätzlichen
Argumente des ‘Failsafe Callback’ nicht berücksichtigt. Ein einfach
authentisierter Angreifer kann diese Schwachstelle ausnutzen und seine
Privilegien bis hin zu ‘Root’-Berechtigungen eskalieren, den Host zum
Absturz bringen (Denial-of-Service) oder Informationen ausspähen.

XSA-214: Schwachstelle in Xen ermöglicht Privilegieneskalation

In der Funktion ‘GNTTABOP_transfer’ in Xen existiert eine Schwachstelle,
weil die interne Verarbeitung bei der Übertragung von Seiten (Pages) von
einem Gast zu einem anderen das Löschen des vorherigen Typs der Seite nicht
beinhaltet. Dies ermöglicht es einem Gastbenutzer eine Seite, die zuvor als
Teil einer Segmentdeskriptor-Tabelle verwendet wurde, auf einen anderen Gast
zu übertragen und die Eigenschaft ‘enthält Segmentdeskriptor’ beizubehalten.
Ist der Empfänger ein PV-Gast, kann dieser Zugriff auf Segmendeskriptoren
erhalten, für die er gewöhnlich keinen Zugriff hat. Handelt es sich bei dem
Empfänger um einen HVM-Gast, kann dieser den Seiteninhalt beliebig
manipulieren und zurück an den Versender oder an einen anderen PV-Gast
versenden. In beiden Fällen kann die versendete Seite mit dem ursprünglichen
Typ in die Deskriptoren-Tabelle des Empfängers eingefügt werden, wodurch
keine Validierung des Inhaltes durchgeführt wird. Ein einfach
authentisierter Angreifer im benachbarten Netzwerk kann die Schwachstelle
mit einem weiteren Gastbenutzer ausnutzen und Privilegien eskalieren,
wodurch diese ‘Root’-Berechtigungen erlangen, den Host zum Absturz bringen
(Denial-of-Service) und Informationen ausspähen können.

XSA-213: Schwachstelle in Xen ermöglicht Privilegieneskalation

In Xen existiert eine Schwachstelle im Umgang mit IRET Hypercalls, wenn
diese in einer Mehrfachaufrufstapelverarbeitung (Multicall Batch) verwendet
werden. Dadurch kann es passieren, dass der Gast nachfolgende Operationen,
die durch dieselbe Stapelverarbeitung aufgerufen werden, fälschlicherweise
im Kernel-Modus ausführt. Führen die nachfolgenden Operationen Tätigkeiten
auf Seitentabellen (Page Tables) aus, könnten diese die
‘Root’-Seitentabellen verwenden. Ein einfach authentisierter Angreifer im
benachbarten Netzwerk kann durch das Ausnutzen der Schwachstelle Privilegien
auf ‘Root’-Ebene eskalieren, das System abstürzen lassen oder Informationen
ausspähen.

CVE-2017-7228: Schwachstelle in Xen ermöglicht Privilegieneskalation

Durch den Fix für XSA-29 (XENMEM_exchange may overwrite hypervisor memory)
wurde eine unvollständige Prüfung für Eingabedaten an die Funktion
‘XENMEM_exchange’ eingeführt. Dadurch kann der Aufrufende über
Input/output-Arrays Zugriff auf den Speicher des Hypervisors erhalten. Ein
einfach authentisierter Angreifer im benachbarten Netzwerk, der ein 64-bit
paravirtualisiertes (PV) Gastsystem verwendet, kann Zugriff auf den
kompletten Speicher des Hosts erhalten und in der Folge seine Privilegien
eskalieren, den Host zum Absturz bringen oder Informationen des Systems
ausspähen.

XSA-206: Schwachstelle in Xenstored ermöglicht Denial-of-Service-Angriff

Xen verwendet Xenstored um den zwischen unterschiedlichen Domänen geteilten
Informationsspeicher XenStore zu warten. Hierbei werden Transaktionen
unterstützt, die in Gänze fehlschlagen, wenn ein Schreibvorgang (Write)
auftritt, der einzelne Annahmen der Transaktion für ungültig erklärt.
Unprivilegierte Domänen können wiederholt Schreibvorgänge veranlassen, die
mit Transaktionen des Toolstacks oder Backends (beispielsweise der
Treiberdomäne) kollidieren, so dass diese durch exaktes Timing dauerhaft
fehlschlagen.

Ein Benutzer eines Gastsystems kann als einfach authentisierter Angreifer im
benachbarten Netzwerk eine Schwachstelle in Xenstored ausnutzen, um den
Fortschritt von Transaktionen der Kontrolldomäne oder der Treiberdomäne
(Control Domain, Driver Domain) zu blockieren und so möglicherweise einen
Denial-of-Service-Zustand des Hostsystems erzeugen. Auf den meisten Systemen
beschränkt sich die Auswirkung auf die Verzögerung oder Verhinderung von
Kontrolloperationen wie der Erstellung oder Neukonfiguration von Domänen.

CVE-2016-9603: Schwachstelle in Xen / QEMU ermöglicht Privilegieneskalation

Nach Änderung der Bildschirmgeometrie (Display Geometry) durch einen
Emulator ändert der VGA-Emulator die Konsole während des folgenden
Update-Befehls. Falls während des Updates zusätzlich ein ‘Blank’-Modus
ausgewählt ist, wird die Größenänderung nicht durchgeführt, sondern auf das
nächste Update verschoben, bei dem ein von ‘Blank’ verschiedener Modus
ausgewählt wird. Andere Konsolenkomponenten, beispielsweise die
VNC-Emulation, arbeiten weiterhin, als wäre die Größenänderung durchgeführt
worden. Dies kann zu einem Pufferüberlauf auf dem Heap führen, wenn die
Größenänderung auf einen größeren Wert erfolgt als denjenigen, für den
aktuell Speicher alloziert ist. Ein einfach authentifizierter Angreifer im
benachbarten Netzwerk mit erweiterten Privilegien im virtuellen Gastsystem
kann einen Pufferüberlauf (Buffer Overflow) auf dem Heap des
Gerätemodellprozesses (Device Model Process) verursachen und dadurch
möglicherweise seine Privilegien auf die Privilegien dieses Prozesses
erweitern.

CVE-2017-2620: Schwachstelle in Xen / QEMU ermöglicht Ausführung beliebigen
Programmcodes

Beim Kopiervorgang von VGA-Daten über die Kopierroutine
‘cirrus_bitblt_cputovideo’ im Modus ‘CIRRUS_BLTMODE_MEMSYSSRC’ kann es zu
einem Schreibzugriff auf Speicher außerhalb des zugewiesenen
Speicherbereichs kommen (Out-of-bounds Memory Write). Die Schwachstelle
betrifft QEMU mit Unterstützung für den ‘Cirrus CLGD 54xx VGA’ Emulator. Ein
einfach authentifizierter Angreifer im benachbarten Netzwerk mit erweiterten
Privilegien (Guest Administator) kann einen Denial-of-Service (DoS)-Angriff
durchführen oder möglicherweise auch beliebigen Programmcode zur Ausführung
bringen.

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

Während der Konstruktion von Domänen wird ein bestimmter interner Status
eingerichtet, um das Hostsystem auf mögliche durchgereichte
Gerätezuweisungen vorzubereiten (Pass-through Device Assignments). Auf ARM-
und AMD V-i-Hardware gehört zu dieser Einrichtung auch die Allokation von
Speicher. Diese Speicherbereiche werden fehlerhafterweise nicht wieder
freigegeben, wenn ein Gastsystem geschlossen wird (Guest Teardown), das
keine solche Gerätezuweisung hat. Der Benutzer eines Gastsystems kann als
nicht authentifizierter Angreifer im benachbarten Netzwerk durch häufiges
Neustarten des Systems oder durch wiederholte Neustarts über einen langen
Zeitraum die Speicherressourcen des Hosts erschöpfen und so einen
Denial-of-Service-Zustand erzeugen.

CVE-2017-2615: Schwachstelle in Xen / QEMU ermöglicht Ausspähen von
Informationen und Privilegieneskalation

Beim Kopiervorgang von VGA-Daten über ‘bitblt’ im Modus ‘backward’ kann es
zu einem Zugriff auf Speicher außerhalb des zugewiesenen Speicherbereichs
kommen. Die Schwachstelle betrifft QEMU mit Unterstützung für den ‘Cirrus
CLGD 54xx VGA’ Emulator. Ein einfach authentifizierter Angreifer im
benachbarten Netzwerk mit erweiterten Privilegien (Guest Administator) kann
auf Speicher außerhalb von Speichergrenzen zugreifen (Out-of-Bounds Access)
und dadurch Informationen ausspähen und seine Privilegien eskalieren.

CVE-2014-8106: Schwachstelle in QEMU ermöglicht Privilegieneskalation

Eine Schwachstelle in QEMU im Zusammenhang mit dem Cirrus VGA Emulator führt
dazu, dass die Checks der Blit-Region nicht korrekt durchgeführt werden.
Dadurch ist es möglich in den Speicherbereich des QEMU-Prozesses auf dem
Host-System zu schreiben. Ein einfach authentisierter Angreifer im
benachbarten Netzwerk kann durch das Ausnutzen der Schwachstelle seine
Benutzerrechte erweitern.

Referenzen:

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

Schwachstelle CVE-2014-8106 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8106

Schwachstelle CVE-2017-2615 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-2615

Schwachstelle CVE-2017-2620 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-2620

Schwachstelle CVE-2016-9603 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-9603

Schwachstelle CVE-2017-7228 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-7228

Oracle VM Security Advisory OVMSA-2017-0094 (Oracle VM 3.4):
https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000689.html

Oracle VM Security Advisory OVMSA-2017-0095 (Oracle VM 3.3):
https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000690.html

Oracle VM Security Advisory OVMSA-2017-0096 (Oracle VM 3.2):
https://oss.oracle.com/pipermail/oraclevm-errata/2017-May/000691.html

Xen Security Advisories, publicly released or pre-released:
https://xenbits.xen.org/xsa/

(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