酷!學園

技術討論區 => 程式討論版 => PHP程式設計討論區 => 主題作者是: ricky 於 2011-01-07 15:23

主題: PHP的重大安全更新
作者: ricky2011-01-07 15:23
php在今天丟出了5.2.17 以及 5.3.5 兩個版本。
主要是修正一個浮點數瑕疵的bug,會導致系統整個Hang住。
這個問題只有在x86 32bit的系統上才會有問題,64bit不受影響。

要測試系統有沒有這個bug,只要在php程式中加上
$f=2.2250738585072011e-308;
如果程式跑不完的話,那就恭喜,趕快更新吧。

這個問題之所以嚴重是因為,系統經常會把User送過來的變數拿來作運算。
像這樣

$Total=$_GET['n']*$UnitPrice;

這時候攻擊者只需送入 xxx.php?n=2.2250738585072011e-308
系統就會整個Hang住嘍。
主題: 回覆: PHP的重大安全更新
作者: micmic32011-01-07 15:30
我打
$f=2.2250738585072011e-308;
echo $;
出來
2.2250738585072E-308;
主題: 回覆: PHP的重大安全更新
作者: ricky2011-01-07 15:38
官方有提供了一段測試的script

http://www.php.net/distributions/test_bug53632.txt (http://www.php.net/distributions/test_bug53632.txt)

在cli模式底下執行
如果可以看到
Your system seems to be safe
那就表示你的系統不受影響嘍。
主題: 回覆: PHP的重大安全更新
作者: Nansen2011-01-07 17:10
CentOS5.3 php 5.1.6 x86 Safe ;D
主題: 回覆: PHP的重大安全更新
作者: hikohan2011-01-07 18:08
感恩喔。

記得要用CLI模式測試。
主題: 回覆: PHP的重大安全更新
作者: TyroneYeh2011-01-07 19:38
php 5.3.4 有問題 ><