Liebe Kolleginnen und Kollegen,
bitte beachten Sie die folgende Sicherheitsmeldung.
Betroffene Software:
Xen
Betroffene Plattformen:
Debian Linux 9.2 Stretch
Mehrere Schwachstellen in Xen ermöglichen zumeist einem Benutzer eines
Gastsystems, als einfach authentisiertem Angreifer im benachbarten Netzwerk,
verschiedene Denial-of-Service (DoS)-Angriffe, das Ausspähen von
Informationen, die Eskalation von Privilegien und die Ausführung beliebigen
Programmcodes.
Debian stellt für Debian Stretch (stable) ein Sicherheitsupdate zur Behebung
der Schwachstellen bereit. Für Debian Jessie (oldstable) wird ein
gesondertes Sicherheitsupdate angekündigt.
Patch:
Debian Security Advisory DSA-4050-1
https://www.debian.org/security/2017/dsa-4050
CVE-2017-15597: Schwachstelle in Xen ermöglicht u.a.
Denial-of-Service-Angriff
In Xen ab Version 4.2 auf x86- und ARM-Systemen existiert eine Schwachstelle
aufgrund eines Programmfehlers. Der Programmcode zum Kopieren von ‘Grants’
setzt voraus, dass jeder ‘Grant Pin’ von einer geeigneten Seitenreferenz
begleitet wäre. Andere Teile des Programmcodes stimmen allerdings mit dieser
Annahme nicht überein. Wenn eine solche ‘Grant’-Kopieraktion für eine
‘sterbende’ Domain durchgeführt wird, stellt sich diese Annahme als falsch
heraus und führt zu einer Speicherkorruption (Memory Corruption) (XSA-236).
Ein bösartiger Gast-Administrator, als einfach authentisierter Angreifer im
benachbarten Netzwerk, kann eine Speicherkorruption für den Hypervisor
provozieren, infolgedessen es am wahrscheinlichsten zu einem Absturz des
Hosts und damit zu einem Denial-of-Service (DoS)-Zustand kommt. Eine
Privilegieneskalation und ein Informationsleck kann nicht ausgeschlossen
werden. Auf x86-Systemen kann die Schwachstelle sowohl von PV als auch HVM
Guests ausgenutzt werden.
CVE-2017-15595: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff
Eine fehlende Beschränkung beim Erstellen von linearen Seitentabellen
(linear page tables) in Xen für x86-Systeme ermöglicht es einem Gastbenutzer
mit einer hohen Anzahl an Querverweisen eine endlose Rekursion zu
provozieren, in deren Folge der Stack-basierte Pufferspeicher zum Überlauf
gebracht und ein Denial-of-Service (DoS)-Zustand herbeigeführt werden kann.
Ein einfach authentisierter Angreifer im benachbarten Netzwerk kann den
Hypervisor zum Absturz bringen (Denial-of-Service). Das Ausspähen von
Informationen und Eskalieren von Privilegien kann nicht ausgeschlossen
werden.
CVE-2017-15594: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff
und Privilegieneskalation
In allen aktuellen Versionen von Xen auf AMD-x86-Systemen existiert eine
Schwachstelle. Ebenfalls sind x86-Systeme verwundbar, die Shared Virtual
Memory (SVM) verwenden. Bei diesen Installationen sind die
AMD-Virtualisierungserweiterungen eher betroffen als die
Intel-Virtualisierungserweiterungen. Die Schwachstelle besteht aufgrund des
fehlerhaften Umgangs mit den IST-Einstellungen beim Hinzufügen einer CPU im
laufenden Betrieb (Hot Plug). Diese verursacht, dass fehlerhafte Werte in
die Interrupt Descriptor Table (IDT) der neuen CPU eingetragen werden. Ein
einfach authentisierter Angreifer im benachbarten Netzwerk kann dies
ausnutzen, um seine Privilegien zu erweitern oder den Hypervisor abstürzen
zu lassen (Denial-of-Service, DoS).
CVE-2017-15593: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff
In allen aktuellen Versionen von Xen auf x86-Systemen existiert eine
Schwachstelle, weil beim Sperren (Locking) von Seiten im ‘Page Type System’
nicht ausreichend überprüft wird, ob die gesetzte Referenz die letzte ist,
wodurch beim Entsperren der Seite diese ohne eine weitere Referenz
unbereinigt im System verbleibt. Ein einfach authentisierter Angreifer im
benachbarten Netzwerk kann beim Herunterfahren eines Gasts ein Speicherleck
verursachen und so einen Denial-of-Service (DoS)-Zustand im Host bewirken.
CVE-2017-15592: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff
Aufgrund des fehlerhaften Umgangs mit ‘self-linear shadow’-Mappings bei
‘translated’-Gastsystemen besteht eine Schwachstelle in allen Xen-Versionen.
Ein einfach authentisierter Angreifer im benachbarten Netzwerk kann durch
das Ausnutzen der Schwachstelle den Hypervisor zum Absturz bringen und einen
Denial-of-Service (DoS)-Zustand im Host bewirken oder dessen Speicher
korrumpieren. Das Eskalieren von Privilegien kann nicht ausgeschlossenen
werden.
CVE-2017-15590: Schwachstelle in Xen ermöglicht u.a.
Denial-of-Service-Angriff
In Xen für x86-Systeme bestehen mehrere Schwachstellen in der Konfiguration
der ‘PCI MSI’-Interrupts. Diese ermöglichen es einem bösartigen Gastbenutzer
sich Zugriff auf Geräte zu verschaffen, für die er keine Rechte besitzt und
die Funktionen ‘MSI’ oder ‘MSI-X’ darauf zu deaktivieren. Außerdem kann
dieser einen Code-Pfad auslösen, der für PV-Benutzer vorenthalten ist.
Einige Fehlerpfade können konfigurierte Interrupts zerstören und einen
inkonsistenten Zustand hinterlassen. Ein einfach authentisierter Angreifer
im benachbarten Netzwerk kann einen Denial-of-Service (DoS)-Angriff
durchführen und darüber hinaus Informationen ausspähen und Privilegien
eskalieren.
CVE-2017-15589: Schwachstelle in Xen ermöglicht Ausspähen von Informationen
Im ‘I/O-Intercept’-Programmcode in Xen für x86-Systeme besteht eine
Schwachstelle, wodurch ein Speicherleck im Stack-basierten Pufferspeicher
hervorgerufen werden kann, weil ein Schreibpfad einzelne Bits eines nicht
initialisierten Speicherbereichs des Stack beinhaltet. Wird ein Lesezugriff
auf diesen Pfad durchgeführt, können sensitive Informationen aus dem
Speicher ausgespäht werden. Ein einfach authentisierter Angreifer im
benachbarten Netzwerk kann Informationen ausspähen.
CVE-2017-15588: 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. Werden Translation Lookaside Buffer (TLB) durch eine
Benutzeranfrage bereinigt (flush) und ist ein Inter Processor Interrupt
(IPI)-Aufruf an die CPU durch den Prozess zum Löschen der letzten Referenz
einer Seite darin involviert und kommt dieser IPI-Aufruf genau an einer
bestimmten Befehlsgrenze, wird ein veralteter Zeitstempel aufgenommen. Dies
kann bewirken, dass die Bereinigung des TLB für diese Seite weggelassen
wird. Ein einfach authentisierter Angreifer im benachbarten Netzwerk kann
durch das Ausnutzen der Schwachstelle auf den gesamten Systemspeicher
zugreifen und Privilegien eskalieren, Informationen ausspähen und eine
Denial-of-Service (DoS)-Angriff durchführen.
CVE-2017-14319: Schwachstelle in Xen ermöglicht Privilegieneskalation
Beim Entfernen oder Ersetzen eines ‘Grant Mappings’ muss in dem für x86
PV-Gäste spezifischen Pfad sichergestellt werden, dass
Seitentabelleneinträge (Page Table Entries) synchronisiert mit anderem
‘Accounting’ bleiben. Obwohl die Identität des Seitenrahmens (Page Frame)
korrekt validiert wird, wird weder das Vorhandensein des Mappings, noch die
Beschreibbarkeit der Seite (Page Writability) in Betracht gezogen. Ein
bösartiger oder fehlerhafter x86 PV-Gast, als einfach authentisierter
Angreifer im benachbarten Netzwerk, kann diese Schwachstelle ausnutzen, um
eine Privilegieneskalation durchzuführen oder den Hypervisor zum Absturz zu
bringen (Denial-of-Service) (XSA-234).
CVE-2017-14318: Schwachstelle in Xen ermöglicht Privilegieneskalation
Die Funktion ‘__gnttab_cache_flush’ handhabt
‘GNTTABOP_cache_flush’-Grant-Tabellen-Operationen. Sie prüft, ob die
aufrufende Domain der Besitzer der Seite ist, die bearbeitet werden soll.
Wenn nicht, wird die Grant-Tabelle des Besitzers darauf geprüft, ob ein
‘Grant Mapping’ zur aufrufenden Domain für die fragliche Seite existiert.
Die Funktion prüft dabei jedoch nicht, ob die besitzende Domain tatsächlich
eine Grant-Tabelle hat oder nicht. Einige spezielle Domains, wie etwa
‘DOMID_XEN’, ‘DOMID_IO’ und ‘DOMID_COW’ werden ohne eine Grant-Tabelle
erzeugt. Dadurch wird, wenn die Funktion ‘__gnttab_cache_flush’ auf Seiten
arbeitet, welche diesen Domains gehören, versucht einen NULL-Zeiger in dem
‘Domain Struct’ zu dereferenzieren (NULL Pointer Dereference).
Ein Gast, als einfach authentisierter Angreifer im benachbarten Netzwerk,
kann diese Schwachstelle ausnutzen, um die Dereferenzierung eines
NULL-Zeigers auszulösen. Für Gäste auf ARM-Systemen und x86 PV-Gäste auf
Systemen mit aktiviertem SMAP führt dies zu einem Absturz des Hosts
(kompletter Denial-of-Service). Für x86 PV-Gäste auf Systemen mit
deaktiviertem SMAP kann der Angreifer, indem er eine präparierte
Grant-Struktur auf der virtuellen Adresse 0 mappt, eine beliebige virtuelle
Adresse inkrementieren, wodurch er wahrscheinlich eine vollständige
Privilegieneskalation (komplette Kompromittierung) erreichen kann.
CVE-2017-14317: Schwachstelle in Xen ermöglicht Denial-of-Service-Angriff
Eine Schwachstelle in Xen beruht auf einer doppelten Freigabe (Double-free)
aufgrund einer Race Condition (Wettlaufsituation) in ‘cxenstored’ beim
Herunterfahren einer VM mit einer ‘stubdomain’. Ein lokaler, einfach
authentisierter Angreifer kann den ‘xenstored’ Daemon dadurch zum Absturz
bringen und einen Denial-of-Service (DoS)-Zustand für die Teile des Systems
bewirken, die den Daemon für ihre Arbeit benötigen. Systeme die ‘oxenstored’
anstelle von ‘xenstored’ verwenden, sind von der Schwachstelle nicht
betroffen (XSA-233).
CVE-2017-14316: Schwachstelle in Xen ermöglicht Ausführen beliebigen
Programmcodes
Die Funktion ‘alloc_heap_pages’ erlaubt dem Aufrufer der Funktion den ersten
‘NUMA’ Knoten mittels des ‘memflags’ Parameters zu spezifizieren, der für
Allokationen verwendet werden soll. Der Knoten wird mittels des
‘MEMF_get_node’-Makros extrahiert. Die Funktion überprüft, ob die Konstante
‘NUMA_NO_NODE’ spezifiziert ist, lässt den Fall, dass ‘node >= MAX_NUMNODES’
ist allerdings unbehandelt. Ein einfach authentisierter Angreifer im
benachbarten Netzwerk kann diese Schwachstelle ausnutzen, um einen Zugriff
außerhalb zulässiger Begrenzungen (Out-of-bounds Access) auf ein internes
Array durchzuführen und damit über manipulierte Hypercalls beliebigen
Programmcode innerhalb von Xen zur Ausführung zu bringen (XSA-231).
Referenzen:
Dieses Advisory finden Sie auch im DFN-CERT Portal unter:
https://portal.cert.dfn.de/adv/DFN-CERT-2017-2144/
Schwachstelle CVE-2017-14316 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-14316
Schwachstelle CVE-2017-14317 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-14317
Schwachstelle CVE-2017-14318 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-14318
Schwachstelle CVE-2017-14319 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-14319
Schwachstelle CVE-2017-15588 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15588
Schwachstelle CVE-2017-15589 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15589
Schwachstelle CVE-2017-15590 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15590
Schwachstelle CVE-2017-15592 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15592
Schwachstelle CVE-2017-15593 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15593
Schwachstelle CVE-2017-15594 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15594
Schwachstelle CVE-2017-15595 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15595
Schwachstelle CVE-2017-15597 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-15597
Debian Security Advisory DSA-4050-1:
https://www.debian.org/security/2017/dsa-4050
(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.