DFN-CERT-2017-0733 libplist: Mehrere Schwachstellen ermöglichen u.a. verschiedene Denial-of-Service-Angriffe [Linux][Fedora]

Liebe Kolleginnen und Kollegen,

bitte beachten Sie die folgende Sicherheitsmeldung.

Betroffene Software:

libplist < 2.0.0 Betroffene Plattformen: Red Hat Fedora 26 Mehrere Schwachstellen in libplist ermöglichen einem lokalen, nicht authentisierten Angreifer die Ausführung beliebigen Progammcodes, das Ausspähen von Informationen und verschiedene Denial-of-Service (DoS)-Angriffe mit Hilfe speziell präparierter Apple Property List-Daten. Auch ein entfernter, nicht authentisierter Angreifer kann diese Schwachstellen ausnutzen, falls er einen Benutzer einer mit libplist verknüpften Anwendung zur Verarbeitung solcher Daten verleiten kann. Der Hersteller veröffentlicht libplist 2.0.0 zur Behebung der Schwachstellen und gibt an, dass mit dieser Version weitere Schwachstellen behoben wurden, die noch keinen offiziellen Bezeichner haben. Für Fedora 26 steht ein Sicherheitsupdate auf libplist 2.0.0 im Status 'pending' bereit. Patch: Fedora Security Update FEDORA-2017-d8173aacff (libplist-2.0.0-1.fc26) https://bodhi.fedoraproject.org/updates/FEDORA-2017-d8173aacff

Patch:

Herstellerseite zu libmobiledevice/libplist mit Downloadmöglichkeit

http://www.libimobiledevice.org/

CVE-2017-6440: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Über die Funktion ‘parse_data_node’ in libplist 1.12 kann ein lokaler, nicht
authentisierter Angreifer mit Hilfe einer speziell präparierten plist-Datei
einen Denial-of-Service-Zustand (Memory Allocation Error) erzeugen.

CVE-2017-6439: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Über die Funktion ‘parse_string_node’ in libplist 1.12 kann ein lokaler,
nicht authentisierter Angreifer mit Hilfe einer speziell präparierten
plist-Datei einen Pufferüberlauf auf dem Heap auslösen und dadurch einen
Denial-of-Service-Zustand erzeugen.

CVE-2017-6438: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff und Ausführung beliebigen Programmcodes

Über die Funktion ‘parse_unicode_node’ in libplist 1.12 kann ein lokaler,
nicht authentisierter Angreifer mit Hilfe einer speziell präparierten
plist-Datei einen Pufferüberlauf auf dem Heap (Heap-based Buffer Overflow)
bewirken und dadurch zumindest einen Denial-of-Service (DoS)-Zustand
auslösen und möglicherweise auch beliebigen Programmcode ausführen.

CVE-2017-6437: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Über die Funktion ‘base64encode’ in libplist 1.12 kann ein lokaler, nicht
authentisierter Angreifer mit Hilfe einer speziell präparierten plist-Datei
einen Denial-of-Service-Zustand (Out-of-Bounds Read) erzeugen.

CVE-2017-6436: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Über die Funktion ‘parse_string_node’ in libplist 1.12 kann ein lokaler,
nicht authentisierter Angreifer mit Hilfe einer speziell präparierten
plist-Datei einen Denial-of-Service-Zustand (Memory Allocation Error)
erzeugen.

CVE-2017-6435: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Über die Funktion ‘parse_string_node’ in libplist 1.12 kann ein lokaler,
nicht authentisierter Angreifer mit Hilfe einer speziell präparierten
plist-Datei einen Denial-of-Service-Zustand (Memory Corruption) erzeugen.

CVE-2017-5836: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Die Bibliothek libplist erwartet Schlüsselknoten (Key Nodes) intern als
Zeichenketten (Strings), die Parameterdefinition von Apple gibt das aber
nicht vor. Bei Verwendung von Ganzzahldaten als Knoten kann es zur Freigabe
eines ungültigen Zeigers kommen, wodurch die Anwendung mit einer
Schutzverletzung (Segmentation Fault) abstürzt. Ein entfernter, nicht
authentisierter Angreifer kann einen Denial-of-Service (DoS)-Angriff
durchführen.

CVE-2017-5835: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Aufgrund fehlender Prüfung der Größe ‘offset_size’ auf den Wert Null kann es
bei der Verarbeitung der letzten 32 Bytes einer ‘plist’-Datei (Trailer) zu
einem Speicherzuweisungsfehler (Memory Allocation Error) kommen. Ein
entfernter, nicht authentisierter Angreifer kann einen Denial-of-Service
(DoS)-Angriff durchführen.

CVE-2017-5834: Schwachstelle in libplist ermöglicht
Denial-of-Service-Angriff

Bei Verarbeitung einer speziell präparierten ‘plist’-Datei kann es in der
Funktion ‘parse_dict_node’ in libplist zu einem Pufferüberlauf auf dem Heap
kommen (Heap-buffer Overflow). Ein entfernter, nicht authentisierter
Angreifer kann dadurch einen Denial-of-Service (DoS)-Angriff durchführen.

CVE-2017-5545: Schwachstelle in libplist ermöglicht Ausspähen von
Informationen und Denial-of-Service-Angriff

Die Hauptfunktion innerhalb von ‘plistutil.c’ in der Bibliothek libplist bis
inklusive Version 1.12 ermöglicht einem entfernten, nicht authentifizierten
Angreifer das Ausspähen von sensitiven Prozessinformationen aus dem Speicher
oder einen Denial-of-Service (DoS)-Angriff durch Lesezugriff auf nicht
zugewiesenen Speicher. Der Angriff kann mit Hilfe speziell präparierter
Apple Property List-Daten erfolgen.

CVE-2017-5209: Schwachstelle in libplist ermöglicht Ausspähen von
Informationen und Denial-of-Service-Angriff

Die Funktion ‘base64decode’ innerhalb von ‘base64.c’ in der Bibliothek
libplist bis inklusive Version 1.12 ermöglicht einem entfernten, nicht
authentifizierten Angreifer das Ausspähen von sensitiven
Prozessinformationen aus dem Speicher oder einen Denial-of-Service
(DoS)-Angriff durch Lesezugriff auf nicht zugewiesenen Speicher. Der Angriff
kann mit Hilfe speziell präparierter Apple Property List-Daten erfolgen.

Referenzen:

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

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

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

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

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

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

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

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

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

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

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

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

Fedora Security Update FEDORA-2017-d8173aacff (libplist-2.0.0-1.fc26):
https://bodhi.fedoraproject.org/updates/FEDORA-2017-d8173aacff

Herstellerseite zu libmobiledevice/libplist mit Downloadmöglichkeit:
http://www.libimobiledevice.org/

libplist Version 2.0.0 Changelog:
https://github.com/libimobiledevice/libplist/blob/62ec804736435fa34e37e66e228e17e2aacee1d7/NEWS

(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