PHP
Rechenaufgabe legt Server lahm (Update)
Eine einzige Zahl macht es möglich: Die Scriptsprache PHP ist in der 32-Bit-Variante anfällig für DoS-Angriffe. Mittlerweile wurde der Fehler in den aktuellen Entwicklerversionen von PHP beseitigt.

Durch die fehlerhafte Verarbeitung der 64-Bit-Gleitkommazahl 2.2250738585072011e-308 ist es in der Scriptsprache PHP möglich, einen Denial of Service - kurz DoS - zu provozieren. Der Fehler wurde von Rick Regan entdeckt. Schuld ist eine rechnerische Annäherung an die Gleitkommazahl. Bei einem Angriff muss die Zahl lediglich als numerischer Wert übergeben werden.
Laut Nutzerkommentaren sind die PHP-Versionen 5.3.3-6, 5.3.2-1 und 5.3.1 betroffen. Ein Update steht noch nicht zur Verfügung. Bislang bleibt vermutlich nur die Möglichkeit, den Fehler selbst zu umgehen: Dazu muss PHP laut Anwenderberichten mit dem Parameter -mfpmath=sse oder mit -ffloat-store neu kompiliert werden. Der Fehler ist bereits im Bug-Tracker von PHP vermerkt.
Nachtrag vom 4. Januar 2011, 20:05 Uhr
Laut PHP-Entwickler Rasmus Lerdorf geht das Problem auf einen alten Designfehler in Intels x87-Design zurück. Demnach tritt das Problem bei Prozessoren mit einer x87 FPU (Floating Point Unit) auf, wenn nicht explizit die Verwendung von SSE oder Float-Store erzwungen wird.
Nachtrag vom 5. Januar 2011, 08:10 Uhr
Nach Angaben des PHP-Entwicklers Scott MacVicar wurde der Bug mittlerweile im SVN-Repository von PHP beseitigt. Aktuelle PHP-Snapshots stehen unter snaps.php.net zum Download bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Und er ist dauernd falsch. Warum den Begriff "NP-schwer" mit der falschen...
@Schnarchnase: Schön, nicht? :) Das ist aber nicht das eigentliche Script, sondern...
Wenn es halt nur bei diesem einem Bug bleiben würde. Aber gerade dann lohnt sich Trollen...
Hier noch ein workaround, der PHP-sites zumindest vor Script-Kiddies schützt, die jetzt...