Mellékleteink: HUP | Gamekapocs
Keres
Július 19-én SYSADMINDAY: egy teljes security meetup, számos szórakoztató program, és Felméri Péter standupja várja az érdeklődőket!

A hétvégére kijavították a PHP hibáját

Bodnár Ádám, 2011. január 10. 15:41
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

A múlt héten sürgősen frissíteni kellett a PHP-t, miután kiderült, egy lebegőpontos számokat kezelő rutin hibája végtelen ciklusba küldheti a szervereket. A frissítés már letölthető.

hirdetés

A webfejlesztők körében rendkívüli népszerűségnek örvendő, világszerte weboldalak tömege által alkalmazott PHP-ban furcsa hibát fedezett fel Rick Regan: a stringeket lebegőpontos értéké alakító rutin végtelen ciklusba került, ha a 2.2250738585072011e-308 szöveget kapta paraméterként ($d = (double)"2.2250738585072011e-308") -  kétszeres, vagyis 64 bites pontosságú ábrázolás esetén ez a legnagyobb szubnormális szám.

Regan kutakodása alatt a hibát Windows és Linux operációs rendszeren egyaránt reprodukálni tudja. Időközben kiderült, hogy a probléma nem a PHP-ban, hanem a 32 bites x86 processzorokban van. Andi Gutmans, a PHP egyik fő fejlesztője és a Zend Technologies elnök-vezérigazgatója szerint a probléma valójában az x87 lebegőpontos koprocesszor utasításkészletében van.

Ezt a hibát egyszerűen ki lehet használni, elég lehet a fent látható karaktersorozatot egy PHP-n működő weboldal valamelyik szövegbeviteli mezőjébe másolni, ezzel végtelen ciklusba kergethető, vagyis válaszképtelenné tehető egy szerver. Érdemes megjegyezni, hogy a hiba csak 32 bites rendszereken jön elő, 64 bitesen nem, a nagy forgalmú weboldalak alighanem már jó ideje átálltak 64 bites környezetre. Aki nem biztos abban, hogy a rendszerét érinti-e a hiba, ennek a scriptnek a futtatásával tesztelheti.

A PHP készítői múlt hét szerdára ígérték a javításokat, de azok végül csak csütörtökre futottak be. Javasolt a PHP frissítése az 5.3.5-ös vagy 5.2.17-es verzióra. Az új PHP-verziók a fent tárgyalt lebegőpontos hiba javításán túl más újdonsággal nem szolgálnak.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.
A IT-üzemeltetők világnapján egy teljes security meetup, számos szórakoztató program, és Felméri Péter standupja várja az érdeklődőket az Ankertbe.