PHP 5.3.7 发布公告
PHP 开发团队宣布立即提供 PHP 5.3.7。此版本专注于通过 90 多个错误修复来提高 PHP 5.3.x 分支的稳定性,其中一些与安全相关。
PHP 5.3.7 中的安全增强功能和修复
- 将 crypt_blowfish 更新到 1.2。(CVE-2011-2483)
- 修复了 error_log() 中的崩溃。由 Mateusz Kocielski 报告
- 修复了 crypt() 中 overlog 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(为非数组中的维度赋值时崩溃)
- 修复了错误处理中 dtor 内部的崩溃
- 修复了错误 #55339(使用 allow_call_time_pass_reference = Off 时出现段错误)
- 修复了错误 #54935 php_win_err 可能导致崩溃
- 修复了错误 #54332(zend_mm_check_ptr 中崩溃 // 堆损坏)
- 修复了错误 #54305(gc_remove_zval_from_buffer 中崩溃)
- 修复了错误 #54580(当通过 php_admin_value 设置 browscap ini 指令时,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 开头的 dir 名称的 DirectoryIterator 时崩溃)
- 修复了错误 #54281(在未初始化的 RecursiveIteratorIterator 中崩溃)
- 修复了错误 #54623(在关闭套接字副本后写入持久套接字时出现段错误)
- 修复了错误 #54681(addGlob() 在无效标志上崩溃)
- 其他 80 多个错误修复。
Windows 用户:请注意,我们不再提供使用 Visual Studio C++ 6 创建的版本。使用此未维护的编译器不可能维护高质量且安全的 Windows PHP 版本。
对于 Apache SAPI(php5_apache2_2.dll),请确保您使用 Visual Studio C++ 9 版本的 Apache。我们建议使用 ApacheLounge 提供的 Apache 版本。对于任何其他 SAPI(CLI、通过 mod_fcgi 的 FastCGI、与 IIS 或其他支持 FastCGI 的服务器的 FastCGI),一切照旧。第三方扩展提供商必须重新构建其扩展,以使其与我们现在提供的 Visual Studio C++9 版本兼容并可加载。
所有 PHP 用户都应注意,PHP 5.2 系列不再受支持。强烈建议所有用户升级到 PHP 5.3.7。