Niewiele czasu po wydaniu nowej wersji PHP odkryto w niej poważny błąd. Użytkownicy zostali poinformowani, aby wstrzymać się z aktualizacją do momentu ukazania się kolejnego wydania. W ekspresowym tempie pojawiła się już nowa wersja, która usuwa zaistniały problem.
Błąd dotyczył funkcji crypt()
, która nieoczekiwanie zmieniła swój sposób działania. W przypadku stosowania algorytmu MD5 z użyciem salt, w wyniku jej wywołania zamiast hasha zwracała podany salt. Dzięki temu wszystkie ciągi kodowane w ten sposób były błędne. Problem nie występował przy użyciu algorytmów DES lub Blowfish.
PHP 5.3.8 jest pozbawione tego problemu, jednak wszyscy korzystający z MD5 do „poważnych zadań” powinni mieć się na baczności. Algorytm ten jest stary i w dzisiejszych czasach bardzo łatwy do złamania. Przechowywanie więc na przykład zakodowanych nim haseł jest dużym błędem. Wszyscy, którzy tak postępują, powinni jak najszybciej dokonać poprawek w swoich aplikacjach.
Dodatkowo w nowym wydaniu PHP naprawiono błąd powodujący zawieszenie się połączenia SSL w mysqlnd.