В PHP 5.2.5 исправлено более 60 ошибок, из которых 7 имеют отношение к проблемам безопасности:
- Функция dl() теперь может принимать только имена файлов;
- Размер аргументов функции dl() теперь ограничен значением MAXPATHLEN;
- В htmlentities/htmlspecialchars отныне не принимаются неполные многобайтовые последовательности символов;
- Защита от переполнения буфера через вызов, основанных на glibc, реализаций функций fnmatch(), setlocale() и glob();
- Директива "mail.force_extra_parameters" заданная в php.ini отныне не может быть изменена через .htaccess;
- Ошибка связанная с некорректной подстановкой hidden-полей при использовании функции output_add_rewrite_var (например, идентификатор сессии может быть вставлен в форму ведущую на чужой сайт);
- Значения php_admin_* установленные в httpd.conf, теперь не могут быть изменены посредством вызова ini_set(). (например "php_admin_value memory_limit 3145728" можно было изменить через ini_set("memory_limit", 20971520);).
Кроме того, можно отметить следующие новшества:
- Библиотека PCRE обновлена до версии 7.3;
- База timezone обновлена до версии 2007.9;
- Добавлена возможность контроля расхода памяти, через переменную окружения ZEND_MM_COMPACT;
- Увеличена скорость работы функций array_intersect_key(), array_intersect_assoc(), array_uintersect_assoc(), array_diff_key(), array_diff_assoc() and array_udiff_assoc();
- Кодирование json_encode() теперь следует стандарту, а не зависит представления символов в локали;
- ext/mysql вновь может быть собран с поддержкой libmysql 3.23.
|