PHP 5.2.14 发布公告
PHP 开发团队很高兴地宣布 PHP 5.2.14 现已正式发布。此版本专注于提高 PHP 5.2.x 分支的稳定性,修复了 60 多个错误,其中一些与安全相关。
此版本标志着 PHP 5.2 主动支持的结束。在此版本之后,PHP 5.2 系列将不再获得任何主动的错误维护。PHP 5.2 的安全修复可能会根据具体情况发布。鼓励所有 PHP 5.2 用户升级到 PHP 5.3。
PHP 5.2.14 中的安全增强和修复
- 重写了 var_export() 以使用 smart_str 而不是输出缓冲区,如果发生致命错误,可以防止数据泄露。
- 修复了 strrchr() 中可能出现的数组泄漏问题。(CVE-2010-2484)
- 修复了 strchr()、strstr()、substr()、chunk_split()、strtok()、addcslashes()、str_repeat()、trim() 中可能出现的数组泄漏问题。
- 修复了 substr_replace() 中可能出现的内存损坏问题。
- 修复了 SplObjectStorage 反序列化问题 (CVE-2010-2225)。
- 修复了 fnmatch() 内部可能出现的堆栈溢出问题。
- 修复了处理无效 XML-RPC 请求时出现的空指针解引用问题 (修复 CVE-2010-0397,错误 #51288)。
- 修复了某些前缀字符上会话变量序列化的处理。
- 修复了 sqlite 扩展内部可能出现的任意内存访问问题。由 Mateusz Kocielski 报告。
PHP 5.2.14 中的关键增强功能包括
- 将捆绑的 PCRE 升级到 8.02 版本。
- 将时区数据库更新到 2010.5 版本。
- 修复了错误 #52238(在迭代器转换为数组时发生异常时崩溃)。
- 修复了错误 #52237(传递非对象属性的引用时崩溃)。
- 修复了错误 #52041(从函数返回的未初始化变量写入时内存泄漏)。
- 修复了错误 #51822(静态类变量的奇怪 __destruct() 导致段错误)。
- 修复了错误 #51552(debug_backtrace() 导致分段错误和/或内存问题)。
- 修复了错误 #49267(MacOS 上 iconv 链接失败:“未定义符号:_libiconv”)。
为了准备升级到 PHP 5.3,现在 PHP 5.2 的支持已结束,https://php.net/migration53 上提供了迁移指南,详细介绍了 PHP 5.2 和 PHP 5.3 之间的更改。
有关 PHP 5.2.14 中所有更改的完整列表,请参阅以下位置的 ChangeLog:.