Sicherheitslücken in PHP

Rund um die Sicherheit des Systems und die Applikationen
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Sicherheitslücken in PHP

Post by andreask2 »

Hallo!

PHP 4.3.10 und 5.0.3 wurden veröffentlicht, und beheben einige Sicherheitslücken:

http://news.php.net/php.internals/14077
http://www.hardened-php.net/advisories/012004.txt

Unter anderem sei dies wohl auch ausnutzbar in phpBB2!

Grüße
Andreas
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: Sicherheitslücken in PHP

Post by blnsnoopy26 »

Hi,

Also Ich habe mal auf php 4.3.10 upgedatet und nun funzt garnichts mehr bei mir.

mein vbulliten board funzt weder mit oder ohne SuPHP.
Dann mein Mambo CMS funzt nicht mehr.

Also nach dem Update gibt es mehr robleme als vorher.

Zur Info:

Vbulletin Error:

Code: Select all

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750

Warning: Constants may only evaluate to scalar values in /home/htdocs/web2/html/wiboard/includes/init.php on line 750
Zeile 717 - 791

Code: Select all

unset(

	$_allowedvars,

	$_arrykey,

	$_arryval,

	$_superglobal,

	$vboptions,

	$vbtemplate,

	$session,

	$bbuserinfo,

	$forumcache,

	$threadcache,

	$foruminfo,

	$templatecache,

	$postcache,

	$threadidcache,

	$forumidcache,

	$postidcache,

	$useridcache,

	$urlSearchArray,

	$urlReplaceArray,

	$emailSearchArray,

	$emailReplaceArray,

	$iforumcache,

	$ipermcache,

	$iaccesscache,

	$usergroupdef,

	$noperms,

	$usergroupcache,

	$vars,

	$usercache,

	$forumarraycache,

	$permscache,

	$bb_cache_thread_lastview,

	$bb_cache_thread_rate,

	$bb_cache_poll_voted,

	$bb_cache_forum_lastview,

	$parsed_postcache

);
und bei meinem Mambo CMS kommt keine Fehlermeldung, daher kann ich da nix posten. Werd wohl oder übel wieder auf php 4.3.9 downgraden müssen, weil kann mir da kein Ausfall leisten.

php habe ich so wie immer kompiliert:

Code: Select all

./configure --prefix=/usr/share --datadir=/usr/share/php --bindir=/usr/bin --libdir=/usr/share --includedir=/usr/include --sysconfdir=/etc --with-_lib=lib --with-config-file-path=/etc --with-exec-dir=/usr/lib/php/bin --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-dbase --enable-discard-path --enable-exif --enable-filepro --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf --enable-gd-native-ttf --enable-inline-optimization --enable-magic-quotes --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-memory-limit --enable-safe-mode --enable-shmop --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-trans-sid --enable-versioning --enable-wddx --enable-yp --with-bz2 --with-dom=/usr/include/libxml2 --with-ftp --with-gdbm --with-gettext --with-gmp --with-imap=yes --with-iodbc --with-jpeg-dir=/usr --with-ldap=yes --with-mcal=/usr --with-mcrypt --with-mhash --with-mysql=/usr --with-ndbm --with-png-dir=/usr --with-snmp --with-t1lib --with-tiff-dir=/usr --with-ttf --with-freetype-dir=yes --with-xml --with-zlib=yes --with-qtdom=/usr/lib/qt3 --with-gd --with-openssl --with-curl --with-imap-ssl --enable-xslt --with-xslt-sablot --with-iconv --with-apxs2=/usr/sbin/apxs2 --with-pdflib=/usr
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Da bist Du anscheinend nicht der einzige: http://www.rootforum.org/forum/viewtopic.php?t=31756

Das sieht schon seltsam aus...
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: Sicherheitslücken in PHP

Post by blnsnoopy26 »

Hi,

Ohh hab den Thread übersehn.
Downgrade grad wieder auf php 4.3.9 zurück.

Ich hoffe die vom php Team werden das Fixen, weil kann ja wohl schlecht mein Mambo CMS und das ganze Vbulletin umcoden.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Hm, gibt anscheinend mehrere Probleme: http://bugs.php.net/search.php?search_f ... &bug_age=0

Zum einen wohl ein Problem mit dem foreach-Patch welches von PHP5 zurück portiert wurde, und wohl auch ein Problem mit dem ZendOptimizer.
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: Sicherheitslücken in PHP

Post by blnsnoopy26 »

Hi,

Naja dann heisst es warten, bis dies alles gefixt wurde vom php Team und solange werde ich dann noch php 4.3.9 benutzen.
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Icb habe mal meine 4.3.9er Binary gesichert und lasse jetzt zum Test 4.3.10 laufen.
Mein vBulletin verhält sich bisher ganz normal ...
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: Sicherheitslücken in PHP

Post by blnsnoopy26 »

Bei mir geht da nichts mehr.
weder VBulletin noch mein Mambo CMS.
Sogar das phpmyadmin macht Probs. Aber mal sehn ob die das schnell fixen werden.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Verwendet Ihr denn irgendeinen Opcode-Cache oder Optimizer?
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Nachdem ich ausnahmslos schlechte Erfahrungen mit diesen Dingern gemacht habe, verwende ich keinen PHP Optimierer.

(phpAccelerator gibt's nicht für 64 Bit Linux, Zend Optimizer auch nicht, Turck MM Cache bringt den Server alle paar Tage zum Absturz.)

phpMyAdmin 2.6.1-rc1 läuft auch einwandfrei.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Ja, hatte ich auch Probleme mit, ich verwende seitdem PECL::APC, das lief bisher am besten. Aber im Augenblick gibt es da anscheinend irgendwelche Probleme im Zusammenspiel mit PHP 4.3.10. http://bugs.php.net/bug.php?id=31126#c89427
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Ich kann übrigens auch keine Probleme feststellen. Wie lässt sich denn das Problem mit phpmyadmin reproduzieren? Welche Version?

Auch kann ich http://bugs.php.net/bug.php?id=31114 nicht repdouzieren (news://news.php.net:119/90e24d4e0412161153296140b8@mail.gmail.com)
cybersmog
Posts: 78
Joined: 2003-09-17 12:38
Location: Bayern
 

Re: Sicherheitslücken in PHP

Post by cybersmog »

andreask2 wrote:Verwendet Ihr denn irgendeinen Opcode-Cache oder Optimizer?
Bei mir läuft der Zend Optimizer. Nach dem Update auf 4.3.10 gabs dann die Probleme wie hier beschrieben: http://www.rootforum.org/forum/viewtopic.php?t=31756
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Hast Du den mal aktualisiert? Dann sollte alles wieder gehen: http://news.php.net/php.internals/14097
cybersmog
Posts: 78
Joined: 2003-09-17 12:38
Location: Bayern
 

Re: Sicherheitslücken in PHP

Post by cybersmog »

Nein, werde ich aber morgen mal machen.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Nochwas zum Thema: http://www.securityfocus.com/archive/1/ ... 04-12-19/0

Ein Update ist wohl dringend anzuraten, bei Problemen ZendOptimizer aktualisieren, gleiches gilt evtl. für andere Zend Extensions, zur Not diese deaktivieren.
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Ich habe heute mal Zend Optimizer 2.5.7 probiert, und damit klappt auch unter PHP 4.3.10 alles wunderbar. Außerdem ist das Ding nun endlich auch für AMD x86-64 verfügbar. :)
schnuffel
Posts: 47
Joined: 2003-09-15 16:52
 

Re: Sicherheitslücken in PHP

Post by schnuffel »

Wie kann ich denn unter debian den aktuellen Zend Optimizer installieren, was sollte denn dafür in der sources.list stehen?
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Der hat nen Installer dabei. ;)
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Mal so ne Frage am Rande - habt Ihr mal gemessen was Euch der Optimizer bringt? Ich hatte bisher immer nur gehört, dass es mal was bringt, mal im Gegenteil schadet - abgesehen von solchen Problemen wie jetzt mit PHP 4.3.10. Das Problem ist ja, dass die Optimierung zusätzlichen Rechenaufwand bedeutet, der bei jedem Ladevorgang abgearbeitet wird. Selbst beim Einsatz von Opcode-Caches, wenn die Optimierung nur beim ersten Ladevorgang durchgeführt werden muss, sind die Unterschiede in den Benchmark die ich bisher gesehen habe marginal - wenn überhaupt messbar.

Würd mich mal interessieren warum Ihr den einsetzt!
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Beim allerersten Aufruf eines PHP scriptes wird das vom Optimizer kompiliert und abgelegt. Wann immer nun der Webserver auf dieses PHP Script zugreifen will/muss, parst er nicht die PHP Datei, sondern führt die kompilierte Version aus. Das spart im allgemeinen ungemein viel Zeit, insbesondere bei Anwendungen wie z.B. Foren, bei denen sich die Scripte ja ständig wiederholen, aber nicht verändern.

Sobald man ein einer PHP Datei rumändert ändert sich jedoch die Checksum und sie wird neu kompiliert. Klar, dass das ein gewisser Overhead ist, aber das passiert ja nur ausgesprochen selten.

Da ich den Optimizer erst gestern wieder (nach lange Zwangspause, weil es keine 64bit Version gab) installiert habe, kann ich nicht viel zur Performance sagen. Auf meinem alten Server nutzten mir solche Tools jedoch sehr viel.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Odysseus wrote:Beim allerersten Aufruf eines PHP scriptes wird das vom Optimizer kompiliert und abgelegt. Wann immer nun der Webserver auf dieses PHP Script zugreifen will/muss, parst er nicht die PHP Datei, sondern führt die kompilierte Version aus.
Ich dachte dazu wären Opcode-Caches wie ZPS, APC, Turck... da? Meines Wissens optimiert der Optimizer jedes Script zur Laufzeit, erst durch den Einsatz eines Opcode-Caches erreicht man den von Dir beschriebenen Effekt.

Ach ja, gestern gefunden: http://eaccelerator.sourceforge.net/Home - eine Fortsetzung des Turck MMCache Projektes. Sieht in meinen Augen erfolgsversprechender aus als http://turck-mmcache.sourceforge.net/ .
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Ich weiß nicht 100%ig, wie das Ding nun im Detail arbeitet, aber den "größten Batzen" an Geschwindigkeitsgewinn erreichen diese Tools durch die Kompilierung und das Cachen dieses compilierten Codes.

Ein nicht zu vertretender Overhead entsteht eigentlich nur, wenn man extrem viele einzelne PHP Scripte hat, die sich dann auch noch andauernd ändern. Aber insbesondere bei Foren auf einem dedizierten Server ist das ja eigentlich nicht der Fall.
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

Re: Sicherheitslücken in PHP

Post by andreask2 »

Odysseus wrote:Ich weiß nicht 100%ig, wie das Ding nun im Detail arbeitet, aber den "größten Batzen" an Geschwindigkeitsgewinn erreichen diese Tools durch die Kompilierung und das Cachen dieses compilierten Codes.
Das ist das was Opcode-Caches machen - der Zend-Optimizer ist kein Opcode Cache. Hierzu gibt es von Zend Accelerator, wie gesagt nicht um sonst:
http://zend.com/store/products/zend-accelerator.php

Code: Select all

A must have PHP accelerator

With standard PHP every time a PHP script is accessed, the script is parsed and compiled by the Zend engine before it is executed. The Zend Accelerator, from the creators of the Zend engine, tightly integrates with the Zend engine and caches the PHP script in a post-compilation state. The next time the script is called, Zend PHP accelerator serves the cached code and the compilation process is saved. 
Der Optimizer ohne Cache führt Optimierungen bei jedem Aufruf durch.
odysseus
Posts: 115
Joined: 2003-02-07 10:21
 

Re: Sicherheitslücken in PHP

Post by odysseus »

Danke für den Hinweis, das war mir bisher in der Tat nicht bewusst.
Naja, solange mein Server ohne mmcache oder diesem neuen Nachfolger einwandfrei läuft, sehe ich keinen Grund, ihn zu installieren. Zumal Turck mir früher zahllose Abstürze bereitet hatte ...
Post Reply