PHP 5.2.1 版本发布公告
PHP 开发团队欣然宣布 PHP 5.2.1 现已正式发布。此版本对 5.X 分支进行了重大的稳定性和安全性增强,强烈建议所有用户尽快升级。
PHP 5.2.1 中的安全增强和修复
- 修复了会话扩展中可能的 safe_mode & open_basedir 绕过。
- 防止搜索引擎索引 phpinfo() 页面。
- 修复了过滤器扩展中的一些输入处理错误。
- 修复了在 64 位系统上使用某些输入字符串时 unserialize() 的滥用。
- 修复了会话扩展中可能的溢出和堆栈损坏。
- 修复了内部 sapi_header_op() 函数中的下溢。
- 修复了一些代码路径中尝试分配负值导致的分配错误。
- 修复了 zip、imap & sqlite 扩展中可能的堆栈溢出。
- 修复了流过滤器中几个可能的缓冲区溢出。
- 修复了 shmop 扩展中未经验证的资源销毁。
- 修复了 str_replace() 函数中可能的溢出。
- 修复了多个代码路径中可能的超级全局变量覆盖。
- 修复了 wddx 扩展中可能的敏感信息泄露。
- 修复了 64 位系统上 *print() 函数中可能的字符串格式漏洞。
- 修复了 mail() 和 ibase_{delete,add,modify}_user() 函数中可能的缓冲区溢出。
- 修复了 odbc_result_all() 函数中的字符串格式漏洞。
- 内存限制现在默认启用。
- 添加了内部堆保护。
- 扩展了 CGI 和 apache2 SAPI 中 $_SERVER 的过滤器扩展支持。
大多数发现并解决的安全漏洞在大多数情况下只能被本地用户滥用,无法远程触发。但是,在某些情况下,上述一些问题可以远程触发,或者被恶意本地用户在使用 PHP 作为 Apache 模块的共享主机设置中利用。因此,我们强烈建议所有 PHP 用户,无论版本如何,都应尽快升级到 5.2.1 版本。具有等效安全修正的 PHP 4.4.5 也可用。
PHP 5.2.1 的主要改进包括:
- 引擎、流 API 和一些 Windows 特定的优化方面的一些性能改进。
- PDO_MySQL 现在默认使用缓冲查询,并模拟预处理语句以绕过 MySQL 预处理语句 API 的限制。
- 对过滤器和 zip 扩展进行了许多改进和增强。
- 内存限制现在始终启用,包括 Windows 版本,默认限制为 128 兆字节。
- 使用更快的 Win32 API 添加了一些性能优化(此更改意味着 PHP 不再支持 Windows 98)。
- 为 Windows 提供了优化的 PHP FastCGI 版本下载。
- 超过 180 个错误修复。
对于从 PHP 5.0 和 PHP 5.1 升级的用户,可在此处获取升级指南,其中详细说明了这些版本和 PHP 5.2.1 之间的更改。
有关 PHP 5.2.1 中所有更改的完整列表,请参阅更改日志。