DFN-CERT-2016-0765 OpenSSL: Mehrere Schwachstellen ermöglichen u.a. die Ausführung beliebigen Programmcodes [Linux][Fedora]

Liebe Kolleginnen und Kollegen,

bitte beachten Sie die folgende Sicherheitsmeldung.

Betroffene Software:

OpenSSL Project OpenSSL 1.0.1

Betroffene Plattformen:

Extra Packages for Red Hat Enterprise Linux 5

Mehrere Schwachstellen in OpenSSL ermöglichen einem entfernten, nicht
authentifizierten Angreifer das Ausführen beliebigen Programmcodes, Umgehen
von Sicherheitsvorkehrungen und verschiedene Denial-of-Service-Angriffe.
Eine weitere Schwachstelle ermöglicht einem lokalen, nicht authentifizierten
Angreifer ebenfalls einen Denial-of-Service-Angriff.

Für Fedora EPEL 5 steht ein Sicherheitsupdate in Form des Paketes
‘openssl101e-1.0.1e-8.el5’ im Status ‘testing’ bereit.

Patch:

Fedora Security Update FEDORA-EPEL-2016-92e8b90065 (Fedora EPEL 5)

https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-92e8b90065

CVE-2016-2109: Schwachstelle in OpenSSL ermöglicht Denial-of-Service-Angriff

Wenn ASN.1-Daten über BIO-Funktionen wie d2i_CMS_bio() gelesen werden,
können kurze, ungültige Kodierungen die Allokation großer Mengen von
Speicher verursachen. Jede Anwendung, die d2i-BIO-Funktionen für das Parsen
von nicht vertrauenswürdigen Eingabedaten verwendet, ist betroffen. Da die
TLS-Bibliothek Funktionen basierend auf Speicher benutzt, sind
TLS-Anwendungen nicht betroffen. Ein lokaler, nicht authentisierter
Angreifer kann einen Denial-of-Service-Angriff durchführen.

CVE-2016-2108: Schwachstelle in OpenSSL ermöglicht Ausführung beliebigen
Programmcodes

In der Funktion ‘i2c_ASN1_INTEGER’ kann es zu einem Pufferunterlauf und in
der Folge zum Schreibzugriff auf Speicher außerhalb des zugewiesenen
Speicherbereichs (Out-of-bounds Write) kommen, wenn in ASN.1-Eingangsdaten
der Wert Null als negative Ganzzahl kodiert ist. Die Funktion
‘d2i_ASN1_TYPE’ im ANS.1-Parser kann große universelle Tags als eine solche
Repräsentation einer Null interpretieren. Diese Tags kommen in den gängigen
ANS.1-Strukturen wie X.509 nicht vor, werden aber als Teil von
ANY-Strukturen akzeptiert. Eine Anwendung, die nicht vertrauenswürdige
ASN.1-Strukturen mit ANY-Feldern zunächst deserialisiert und später
serialisiert, kann den Out-of-bounds-Schreibvorgang auslösen. Ein
entfernter, nicht authentifizierter Angreifer kann mit Hilfe speziell
präparierter Eingangsdaten beliebigen Programmcode auf Systemen ausführen,
die ‘d2i_ASN1_TYPE’ zur Verarbeitung von ASN.1-Daten verwenden.

CVE-2016-2107: Schwachstelle in OpenSSL ermöglicht Umgehen von
Sicherheitsvorkehrungen

In OpenSSL existiert eine Schwachstelle, die durch den Fix zur Verhinderung
von “Lucky 13” Padding-Angriffen eingeführt wurde (CVE-2013-0169). Dabei
wurde die Padding Prüfung neu implementiert, so dass diese in konstanter
Zeit durchgeführt wird, um sicherzustellen, dass immer dieselben Bytes
gelesen und entweder gegen den MAC oder die Padding Bytes verglichen werden.
Dabei wird allerdings nicht länger geprüft, ob genügend Daten vorhanden
sind, um sowohl den MAC als auch Padding Bytes vorliegen zu haben. Ein
Man-in-the-Middle (MitM) kann diese Schwachstelle für einen ‘Padding
Oracle’-Angriff ausnutzen, um den Netzwerkverkehr zu entschlüsseln, wenn die
Verbindung AES-CBC-Chiffren verwendet und der Server den Befehlssatz AES
unterstützt. Ein entfernter, nicht authentisierter Angreifer kann
Sicherheitsvorkehrungen umgehen und in der Folge Informationen ausspähen

CVE-2016-2106: Schwachstelle in OpenSSL ermöglicht Denial-of-Service-Angriff

In OpenSSL existiert eine Schwachstelle in der Funktion EVP_EncodeUpdate().
Durch sehr große Mengen von Eingabedaten nach einem vorhergehenden Aufruf
von EVP_EncryptUpdate() mit einem Teilblock kann es zu einem Überlauf bei
der Längenprüfung und dadurch zu einer Heap-Speicherkorruption kommen.
Innerhalb von OpenSSL wird diese Funktion durch Funktionen verwendet, in
denen kein Überlauf möglich ist. Für Benutzeranwendungen, welche diese APIs
direkt mit einer großen Menge nicht vertrauenswürdiger Daten aufrufen, ist
OpenSSL dagegen verwundbar. Ein entfernter, nicht authentisierter Angreifer
kann diese Schwachstelle ausnutzen, um einen Denial-of-Service-Angriff
durchzuführen oder möglicherweise beliebigen Programmcode auszuführen.

CVE-2016-2105: Schwachstelle in OpenSSL ermöglicht Denial-of-Service-Angriff

In OpenSSL existiert eine Schwachstelle in der Funktion ‘EVP_EncodeUpdate’,
die für das Base64-Encoding von Binärdaten verwendet wird. Durch sehr große
Mengen von Eingabedaten kann es zu einem Überlauf bei der Längenprüfung und
dadurch zu einer Heap-Speicherkorruption kommen. Innerhalb von OpenSSL wird
diese Funktion primär durch die Familie der ‘PEM_write_bio*’-Funktionen
verwendet, die hauptsächlich in Kommandozeilenanwendungen zur Anwendung
kommt. In diesen Fällen sollten die vorhandenen Längenprüfungen für die
Aufrufe den Überlauf verhindern. Für Benutzeranwendungen, welche diese APIs
direkt mit einer großen Menge nicht vertrauenswürdiger Daten aufrufen, ist
OpenSSL dagegen verwundbar. Ein entfernter, nicht authentisierter Angreifer
kann diese Schwachstelle ausnutzen, um einen Denial-of-Service-Angriff
durchzuführen oder möglicherweise beliebigen Programmcode auszuführen.

CVE-2016-2842: Schwachstelle in OpenSSL ermöglicht Denial-of-Service-Angriff

Die Funktion ‘doapr_outch’ in ‘crypto/bio/b_print.c’ in OpenSSL 1.0.1 bevor
1.0.1s und 1.0.2 bevor 1.0.2g verifiziert nicht, dass eine bestimmte
Speicherallokation erfolgreich ist. Dadurch kann ein entfernter, nicht
authentifizierter Angreifer mittels einer langen Zeichenkette (long stringe,
large amount of ASN.1 data) Schreibzugriff auf Speicher außerhalb des
zugewiesenen Speicherbereichs erhalten oder Speicher exzessiv nutzen, um
einen Denial-of-Service-Angriff auszuführen. Es handelt sich um eine andere
Schwachstelle als CVE-2016-0799.

CVE-2016-0799: Schwachstelle in OpenSSL ermöglicht Denial-of-Service-Angriff

Die interne Funktion ‘fmtstr’ wird in den ‘BIO_*printf’-Funktionen zur
Verarbeitung von Zeichenketten des Formats ‘%s’ verwendet. Bei der
Verarbeitung sehr langer Zeichenketten kann es zu einem Integer-Überlauf bei
der Berechnung der Zeichenkettenlänge und in der Folge zum Lesezugriff auf
Speicher außerhalb des zugewiesenen Speicherbereichs kommen, beispielsweise
wenn die Zeichenkette ausgegeben werden soll. Ein ähnliches Problem bei der
Verarbeitung von ‘%s’-Zeichenketten in der internen Funktion ‘doapr_outch’
führt zum Schreibzugriff auf Speicher außerhalb des zugewiesenen Bereichs
und möglicherweise zu Speicherlecks. Ein entfernter, nicht authentifizierter
Angreifer kann einen Denial-of-Service-Angriff ausführen, indem er speziell
präparierte Daten über die ‘BIO_*printf’-Funktionen ausgeben lässt oder als
Kommandozeilen-Argumente übergibt.

Referenzen:

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

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

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

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

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

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

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

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

Fedora Security Update FEDORA-EPEL-2016-92e8b90065 (Fedora EPEL 5):
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-92e8b90065

(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