Liebe Kolleginnen und Kollegen,
bitte beachten Sie die folgende Sicherheitsmeldung.
Betroffene Software:
PHP < 5.5.37 PHP < 5.6.23 PHP < 7.0.8 Betroffene Plattformen: Apple Mac OS X GNU/Linux Microsoft Windows Red Hat Fedora 22 Red Hat Fedora 23 Red Hat Fedora 24 Mehrere Schwachstellen in PHP vor Versionen 5.5.37, 5.6.23 und 7.0.8 ermöglichen einem entfernten, nicht authentifizierten Angreifer die Ausführung beliebigen Programmcodes, verschiedene Denial-of-Service-Angriffe (DoS) und möglicherweise weitere Angriffe. Die Schwachstellen PHP Sec Bug #72434 (CVE-2016-5773) und PHP Sec Bug #72268 betreffen nur den 7er Zweig von PHP, die Schwachstelle PHP Bug #66387 (CVE-2015-8874) wird im 5.5er Zweig erst jetzt behoben. PHP stellt die stabilen Versionen 5.5.37, 5.6.23 und 7.0.8 als Sicherheitsupdates bereit, die mehrere sicherheitsrelevante Schwachstellen (Sec Bugs) und zahlreiche weitere Programmfehler beheben. Für die Distributionen Fedora 22, 23 und 24 stehen Sicherheitsupdates auf PHP 5.6.23 im Status 'testing' zur Verfügung. Patch: Fedora Security Update FEDORA-2016-34a6b65583 (Fedora 23, php-5.6.23) https://bodhi.fedoraproject.org/updates/FEDORA-2016-34a6b65583
Patch:
Fedora Security Update FEDORA-2016-99fbdc5c34 (Fedora 22, php-5.6.23)
https://bodhi.fedoraproject.org/updates/FEDORA-2016-99fbdc5c34
Patch:
Fedora Security Update FEDORA-2016-ec372bddb9 (Fedora 24, php-5.6.23)
https://bodhi.fedoraproject.org/updates/FEDORA-2016-ec372bddb9
Patch:
PHP 5.5.37 Change Log
https://secure.php.net/ChangeLog-5.php#5.5.37
Patch:
PHP 5.6.23 Change Log
https://secure.php.net/ChangeLog-5.php#5.6.23
Patch:
PHP 7.0.8 Change Log
https://secure.php.net/ChangeLog-7.php#7.0.8
PHP-BUG-ID-72407: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Die Funktion ‘_gdScaleVert’ prüft den Rückgabewert von
‘_gdContributionsCalc’ nicht, so dass es in ‘_gdScaleCol’ zu einer
NULL-Zeiger-Dereferenzierung kommen kann, wodurch eine Schutzverletzung
ausgelöst wird. Ein entfernter, nicht authentifizierter Angreifer kann einen
Denial-of-Service-Angriff ausführen.
PHP-BUG-ID-72403: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Durch eine Schwachstelle in den Funktionen ‘rawurlencode’, ‘bin2hex’,
‘implode’, ‘quotemeta’, ‘nl2br’ (PHP Bug 72268), ‘addslashes’, ‘addcslashes’
(PHP Bug 72400) und möglicherweise weiteren Funktionen ist es möglich,
Zeichenketten (Strings) mit negativer Länge zu erzeugen. Ein entfernter,
nicht authentifizierter Angreifer kann dadurch auf Speicher außerhalb des
zugewiesenen Speicherbereichs zugreifen und eine Speicherschutzverletzung
auslösen (Denial-of-Service) oder belieigen Programmcode ausführen.
PHP-BUG-ID-72400: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Durch eine Schwachstelle in den Funktionen ‘addslashes’ und ‘addcslashes’
lassen sich Zeichenketten mit negativer Länge erzeugen, die von einem
entfernten, nicht authentifizierten Angreifer zum Zugriff auf nicht
zugewiesene Speicherbereiche oder zur Korrumpierung von Speicher eingesetzt
werden können. In der Folge kann der Angreifer eine Schutzverletzung und
dadurch einen Denial-of-Service-Angriff (DoS) auslösen und möglicherweise
beliebigen Programmcode ausführen.
PHP-BUG-ID-72298: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Die Funktion ‘pass2_no_dither’ in PHP kann mit speziell präparierten
Eingabeparametern zum Zugriff auf Speicher außerhalb des zugewiesenen
Speicherereichs verwendet werden. Ein entfernter, nicht authentifizierter
Angreifer kann dadurch einen Denial-of-Service-Angriff (DoS) ausführen.
PHP-BUG-ID-72275: Schwachstelle in PHP ermöglicht Ausführen beliebigen
Programmcodes
Es existiert eine Schwachstelle in verschiedenen Funktionen in PHP aufgrund
unzureichender Überprüfung der Variablen ‘str_len’, wodurch es zu einem
Ganzzahlüberlauf kommen kann. Hintergrund ist, dass ‘str_len’ in einem
ZVAL-Objekt als Vorzeichen behaftete Ganzzahl (int) definiert ist, aber in
den Funktionen als Vorzeichen los verarbeitet wird. Ein entfernter, nicht
authentifizierter Angreifer kann diese Schwachstelle ausnutzen und mit einem
präparierten ZVAL-Objekt, in welchem ‘str_len’ negativ gewählt ist, den
Pufferspeicher zum Überlauf und dadurch beliebigen Programmcode zur
Ausführung bringen.
PHP-BUG-ID-72268: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Durch eine Schwachstelle in der Funktion ‘nl2br’ ist es möglich,
Zeichenketten (Strings) mit negativer Länge zu erzeugen. Ein entfernter,
nicht authentifizierter Angreifer kann dadurch auf Speicher außerhalb des
zugewiesenen Speicherbereichs zugreifen und eine Speicherschutzverletzung
auslösen (Denial-of-Service) oder beliebigen Programmcode ausführen.
CVE-2016-5773: Schwachstelle in PHP ermöglicht Ausführen beliebigen
Programmcodes
Es existiert eine Use-after-free-Schwachstelle in PHP ab Version 5.3
aufgrund eines Fehlers im Algorithmus des Garbage Collectors. Dies
ermöglicht es den Garbage Collector dazu zu veranlassen, ein bestimmtes
Speicher-Array freizugeben und mittels gefälschtem ZVAL-Objekt den
Zeiger(EIP/RIP) darauf zu übernehmen. Ein entfernter, nicht
authentifizierter Angreifer kann beliebigen Programmcode ausführen.
CVE-2016-5772: Schwachstelle in PHP ermöglicht Ausführung beliebigen
Programmcodes
Durch eine Schwachstelle in der Funktion ‘wddx_deserialize’ kann es bei der
Verarbeitung von speziell präparierten XML-Dateien zur Freigabe bereits
freigegebener Speicherbereiche kommen. Unter bestimmten Umständen kann die
Position des freigegebenen Speichers festgelegt werden, wodurch ein
entfernter, nicht authentifizierter Angreifer beliebigen Programmcode
ausführen kann.
CVE-2016-5771: Schwachstelle in PHP ermöglicht Ausführen beliebigen
Programmcodes
Es existiert eine Use-after-free-Schwachstelle in PHP aufgrund eines Fehlers
im Algorithmus des Garbage Collectors. Dies ermöglicht es den Garbage
Collector dazu zu veranlassen ein bestimmtes Speicher-Array freizugeben und
mittels gefälschtem ZVAL-Objekt den Zeiger(EIP/RIP) darauf zu übernehmen.
Ein entfernter, nicht authentifizierter Angreifer kann beliebigen
Programmcode ausführen.
CVE-2016-5770: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Durch eine Typenverwechslung in ‘SplFileObject::fread’ kann es zum Zugriff
auf nicht zugewiesene Speicherbereiche und in der Folge zu einer
Schutzverletzung kommen. Ein entfernter, nicht authentifizierter Angreifer
kann einen Denial-of-Service-Angriff durchführen.
CVE-2016-5769: Schwachstelle in PHP ermöglicht Ausführen beliebigen
Programmcodes
Es existiert eine Schwachstelle in der Funktion ‘mcrypt_generic’ in PHP
aufgrund fehlender Überprüfung des Berechnungsergebnisses für ‘data_size’,
mit dem im weiteren Programmablauf Speicher alloziert wird. Manipuliert ein
Angreifer den Wert ‘data_len’ auf einen sehr hohen Wert, wie beispielsweise
4.294.967.295 (INTEGER_MAX), kommt es im Zuge der Berechnung zu einem
Ganzzahlüberlauf, in dessen Folge viel weniger Speicher alloziert wird als
benötigt wird. Dadurch kann der Heap-Pufferspeicher zum Überlauf gebracht
werden, was einem entfernten, nicht authentifizierten Angreifer ermöglicht
beliebigen Programmcode auszuführen.
CVE-2016-5768: Schwachstelle in PHP ermöglicht Ausführung beliebigen
Programmcodes
Wenn die Funktion ‘_php_mb_regex_ereg_replace_exec’ von
‘mb_ereg_replace_callback’ aufgerufen wird, falls die Ausführung des
Callbacks fehlschlägt, kann es zur Freigabe eines bereits freigegebenen
Speicherbereichs kommen. Ein entfernter, nicht authentifizierter Angreifer,
der dieses Verhalten auslöst, kann dadurch möglicherweise beliebigen
Programmcode ausführen.
CVE-2016-5767: Schwachstelle in PHP ermöglicht Ausführen beliebigen
Programmcodes
Es existiert eine Schwachstelle in PHP aufgrund eines Ganzzahlüberlaufs in
der Funktion ‘gdImagePaletteToTrueColor’. Dies ermöglicht es einem
entfernten, nicht authentifizierten Angreifer den Heap-Pufferspeicher zum
Überlauf zu bringen und in der Folge beliebigen Programmcode zur Ausführung
zu bringen.
CVE-2016-5766: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Die Funktion ‘_gd2GetHeader’ kann für einen Ganzzahl-Überlauf (Integer
Overflow) ausgenutzt werden, welcher in der Folge zu einem Überlauf des
Heap-Speichers führt. Ein entfernter, nicht authentifizierter Angreifer kann
einen Denial-of-Service-Angriff (DoS) ausführen, indem er eine
Speicherschutzverletzung auslöst.
CVE-2016-4473: Schwachstelle in PHP ermöglicht Denial-of-Service-Angriff
Die Verarbeitung speziell präparierter Archivdateien vom Typ ‘PHAR’ kann in
PHP zu einer unerlaubten Freigabe von Speicher (Invalid Free) führen. Ein
entfernter, nicht authentifizierter Angreifer kann dadurch einen
Denial-of-Service-Angriff (DoS) ausführen.
CVE-2015-8874: Schwachstelle in libgd2 ermöglicht Denial-of-Service-Angriff
Es existiert eine nicht näher spezifizierte
Stack-Speicherüberlauf-Schwachstelle in der libgd2-Bibliothek, die auch in
den PHP Versionen bevor 5.6.12 und 5.5.37 enthalten ist, welche durch einen
Aufruf der Funktion ‘gdImageFillToBorder()’ verursacht werden kann. Ein
entfernter, nicht authentifizierter Angreifer kann diese Schwachstelle
mittels eines präparierten ‘imagefilltoborder’-Aufrufs ausnutzen, um einen
Denial-of-Service-Angriff durchzuführen.
Referenzen:
Dieses Advisory finden Sie auch im DFN-CERT Portal unter:
https://portal.cert.dfn.de/adv/DFN-CERT-2016-1022/
Schwachstelle CVE-2015-8874 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8874
Fedora Security Update FEDORA-2016-34a6b65583 (Fedora 23, php-5.6.23):
https://bodhi.fedoraproject.org/updates/FEDORA-2016-34a6b65583
Fedora Security Update FEDORA-2016-99fbdc5c34 (Fedora 22, php-5.6.23):
https://bodhi.fedoraproject.org/updates/FEDORA-2016-99fbdc5c34
Fedora Security Update FEDORA-2016-ec372bddb9 (Fedora 24, php-5.6.23):
https://bodhi.fedoraproject.org/updates/FEDORA-2016-ec372bddb9
PHP 5.5.37 Change Log:
https://secure.php.net/ChangeLog-5.php#5.5.37
PHP 5.6.23 Change Log:
https://secure.php.net/ChangeLog-5.php#5.6.23
PHP 7.0.8 Change Log:
https://secure.php.net/ChangeLog-7.php#7.0.8
PHP Sec Bug #72268:
https://bugs.php.net/bug.php?id=72268
PHP Sec Bug #72275:
https://bugs.php.net/bug.php?id=72275
PHP Sec Bug #72298:
https://bugs.php.net/bug.php?id=72298
PHP Sec Bug #72400:
https://bugs.php.net/bug.php?id=72400
PHP Sec Bug #72403:
https://bugs.php.net/bug.php?id=72403
PHP Sec Bug #72407:
https://bugs.php.net/bug.php?id=72407
PHP Sec Bug #72434: ZipArchive class Use After Free Vulnerability in PHP’s GC
algorithm and unseria:
https://bugs.php.net/bug.php?id=72434
Schwachstelle CVE-2016-4473 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-4473
Schwachstelle CVE-2016-5766 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5766
Schwachstelle CVE-2016-5767 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5767
Schwachstelle CVE-2016-5768 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5768
Schwachstelle CVE-2016-5769 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5769
Schwachstelle CVE-2016-5770 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5770
Schwachstelle CVE-2016-5771 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5771
Schwachstelle CVE-2016-5772 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5772
Schwachstelle CVE-2016-5773 (NVD):
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-5773
PHP Bug #66387: Stack overflow with imagefilltoborder:
https://bugs.php.net/bug.php?id=66387
(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.