PHP 5.2.2 發佈公告
PHP 開發團隊在此宣布 PHP 5.2.2 正式發佈。此版本持續改善 5.X 分支的安全性及穩定性,強烈建議所有使用者儘快升級。
PHP 5.2.2 的安全性增強和修復
- 修復 CVE-2007-1001,GD wbmp 使用無效影像大小的問題 (由 Ivan Fratric 修正)
- 修復了透過 mail() 函式的 Subject 和 To 參數進行標頭注入的漏洞 (MOPB-34,由 Stefan Esser 修正)
- 修復 mail() 內部的 asciiz 位元組截斷問題 (MOPB-33,由 Stefan Esser 修正)
- 修復 unserialize S 類型中的錯誤長度計算 (MOPB-29,由 Stefan Esser 修正)
- 修復了 mb_parse_str() 中的一個錯誤,該錯誤可能被用於啟用 register_globals (MOPB-26,由 Stefan Esser 修正)
- 修復 array_user_key_compare() 中未分配的記憶體存取/雙重釋放問題 (MOPB-24,由 Stefan Esser 修正)
- 修復 session_regenerate_id() 內部的雙重釋放問題 (MOPB-22,由 Stefan Esser 修正)
- 新增 zip:// 和 bzip:// 包裝器中遺漏的 open_basedir 和 safe_mode 檢查 (MOPB-20、MOPB-21,由 Stefan Esser 修正)。
- 修復 substr_compare 和 substr_count 資訊洩漏問題 (MOPB-14,由 Stefan Esser 修正) (Stas, Ilia)
- 使用 max_input_nesting_level 限制輸入變數的巢狀層級,以修復 (MOPB-03,由 Stefan Esser 修正)
- 修正了 ftp_putcmd() 中的 CRLF 注入漏洞。(由 loveshell[at]Bug.Center.Team 發現)
- 修正了 import_request_variables() 中可能發生的超級全域變數覆寫漏洞。(由 Stefano Di Paola、Steffan Esser 發現)
- 修正了 make_http_soap_request() 中可被遠端觸發的緩衝區溢位漏洞。(由 Ilia Alshanetsky 發現)
- 修正了 user_filter_factory_create() 中的緩衝區溢位漏洞。(由 Ilia Alshanetsky 發現)
- 修正了內建 libxmlrpc 函式庫中可被遠端觸發的緩衝區溢位漏洞。(由 Stanislav Malyshev 發現)
雖然上述大多數問題都屬於本地漏洞,但在某些特定程式碼路徑下,它們可能會被外部觸發。因此,如果您使用了包含已知漏洞的函式和擴充套件,我們強烈建議您考慮升級 PHP 版本。
PHP 5.2.2 的主要改進包括:
- 進一步改進記憶體管理器,以提升 realloc() 的效能。
- 升級了內建的 GD、SQLite 和 PCRE 函式庫。
- 在 SPL 的 DirectoryIterator 和 SplFileInfo 類別中新增了其他方法。
- 修正了超過 120 個錯誤。
對於從 PHP 5.0 和 PHP 5.1 升級的使用者,我們提供了升級指南,在此詳細說明了這些版本與 PHP 5.2.2 之間的差異。
PHP 5.2.2 的完整變更列表,請參閱變更記錄。