
Warto dodać, że chodzi tylko o architekturę 32-bitową, o czym w artykule tutaj nie ma wzmianki. Serwery 64-bitowe nie są na to wrażliwe.

Skoro to takie niebezpieczne, to dlaczego publicznie podaje się sposób jak to zrobić?

na przykład, żeby właściciele serwerów zrobili aktualizację?
wcale nie. wystarczy ze skrypt php bedzie chcial to zinterpretowac jako liczbe. Oznacza to ze podatne na ataki stana sie wszystkie skrypty ktore nie filtruja liczb typu integer tylko od razu rzutuja na nie dane wejsciowe. Przy pierwszym lepszym przetworzeniu tej liczby php sie wysypie. Jesli jednak przetwarzac bedziemy ciag znakow to php nic nie odczuje. Tak wiec wyrazenia regularne sa nie do zdarcia w tym wypadku.
PS a klocilem sie z kumplem ostatnio ze rzutowanie moze byc niebezpieczne bo wystarczy ze ktos znajdzie blad w funkcji przeksztalcajacej liczbe i moze nawet sie wlamie do serwera. Mowilem ze lepiej jest filtrowac dane wejsciowe jesli nie sa dlugimi ciagami :) Nie chcial wierzyc to teraz ma dowod :D
niestety squeeze i386 też póki co jest podatny, był dziś patch do apache ale to jeszcze nie to. swoją drogą kto przetwarza od razu dane z get-ów albo post-ów? najczęściej na szczęście i tak leci kwerenda do bazy danych - to sprawdziłem i nie jest podatne na taki atak.

Walidowanie wejścia tutaj może dużo pomóc by ów błąd wyeliminować. Poza tym z tego co kojarzę to błąd tyczy nie wszystkich wersji PHP, ale tylko gałęzi 5.2 i 5.3 w wersji 32-bitowej.
"(...)tylko gałęzi 5.2 i 5.3(...)"
czyli najbardziej aktulanych, stabilnych i najlepiej zabezpieczonych :-) Wyjdzie poprawka w najnowszej wersji.
Formularze oczywiście trzeba zawsze walidować. Walidacja liczb całkowitych sprowadza się najczęściej do rzutowania int. Czy to wystarczy? Już chyba nie...
Juz wydali poprawione wersje ;)
PHP 5.3.5 and 5.2.17 Released!
[06-Jan-2011]
The PHP development team would like to announce the immediate availability of PHP 5.3.5 and 5.2.17.
This release resolves a critical issue, reported as PHP bug #53632 and CVE-2010-4645, where conversions from string to double might cause the PHP interpreter to hang on systems using x87 FPU registers.
The problem is known to only affect x86 32-bit PHP processes, regardless of whether the system hosting PHP is 32-bit or 64-bit. You can test whether your system is affected by running this script from the command line.
All users of PHP are strongly advised to update to these versions immediately.


© 1998-2026 Dziennik Internautów Sp. z o.o.