PHP 5.3.7 發佈公告
PHP 開發團隊在此宣布 PHP 5.3.7 正式發佈。此版本著重於提升 PHP 5.3.x 分支的穩定性,包含超過 90 項錯誤修正,其中一些與安全性相關。
PHP 5.3.7 的安全性增強和修正
- 已將 crypt_blowfish 更新至 1.2 版。(CVE-2011-2483)
- 修正了 error_log() 中的當機問題。由 Mateusz Kocielski 回報
- 修正了 crypt() 中過長 salt 造成的緩衝區溢位問題。
- 修正了錯誤 #54939 (RFC1867 檔案上傳檔名中的檔案路徑注入漏洞)。由 Krzysztof Kotowicz 回報。(CVE-2011-2202)
- 修正了 socket_connect() 中的堆疊緩衝區溢位問題。(CVE-2011-1938)
- 修正了錯誤 #54238 (substr_replace() 中的 use-after-free 問題)。(CVE-2011-1148)
PHP 5.3.7 的主要增強功能包括:
- 已將內建的 Sqlite3 升級至 3.7.7.1 版
- 已將內建的 PCRE 升級至 8.12 版
- 修正了錯誤 #54910 (使用未知函式名稱呼叫 call_user_func 時當機)
- 修正錯誤 #54585(track_errors 導致區段錯誤)
- 修正錯誤 #54262(對非陣列的維度賦值時當機)
- 修正錯誤處理的解構函式內的當機問題
- 修正錯誤 #55339(當 allow_call_time_pass_reference = Off 時發生區段錯誤)
- 修正錯誤 #54935 php_win_err 可能導致當機
- 修正錯誤 #54332(zend_mm_check_ptr 當機 // 堆積損毀)
- 修正錯誤 #54305(gc_remove_zval_from_buffer 中的當機問題)
- 修正錯誤 #54580(當 browscap ini 指令透過 php_admin_value 設定時,get_browser() 發生區段錯誤)
- 修正錯誤 #54529(SAPI 在 apache_config.c:197 處當機)
- 修正錯誤 #54283(new DatePeriod(NULL) 導致當機)
- 修正錯誤 #54269(例外訊息緩衝區過短導致當機)
- 修正錯誤 #54221(在多重查詢中使用 mysqli::get_warnings 時發生區段錯誤)
- 修正錯誤 #54395(使用錯誤參數呼叫 Phar::mount() 時當機)
- 修正錯誤 #54384(當使用者空間類別未呼叫父建構函式時,雙迭代器、GlobIterator、SplFileObject 和 SplTempFileObject 會當機)
- 修正錯誤 #54292(SplFileObject::__construct() 中的錯誤參數導致當機)
- 修正錯誤 #54291(迭代以 \0 開頭的目錄名稱的 DirectoryIterator 時當機)
- 修正錯誤 #54281(未初始化的 RecursiveIteratorIterator 中的當機問題)
- 修正錯誤 #54623(在關閉通訊端副本後寫入永久通訊端時發生區段錯誤)
- 修正錯誤 #54681(addGlob() 在傳入無效旗標時當機)
- 修正超過 80 個其他錯誤。
Windows 使用者請注意:我們不再提供使用 Visual Studio C++ 6 建置的版本。使用這個未維護的編譯器無法維護高品質且安全的 PHP Windows 版本。
對於 Apache SAPI (php5_apache2_2.dll),請確保您使用 Visual Studio C++ 9 版本的 Apache。我們推薦使用 ApacheLounge (ApacheLounge) 提供的 Apache 版本。對於任何其他 SAPI(CLI、透過 mod_fcgi 的 FastCGI、使用 IIS 或其他支援 FastCGI 的伺服器的 FastCGI),一切皆如以往運作。第三方擴充套件提供者必須重新建置其擴充套件,以使其與我們現在提供的 Visual Studio C++ 9 版本相容且可載入。
所有 PHP 使用者都應注意,PHP 5.2 系列已不再支援。強烈建議所有使用者升級到 PHP 5.3.7。