Релиз PHP 5.2.7 с исправлением 9 уязвимостей. Третья альфа версия PHP 5.3
5 декабря 2008 года
Анонсирован выход релиза PHP 5.2.7 в котором исправлено более 170 ошибок, в том числе 9 проблем безопасности:
- Библиотека PCRE обновлена до версии 7.8, в более ранних версиях присутствует уязвимость, позволяющая организовать злоумышленником выполнение кода в момент преобразования регулярного выражения в байткод через вызов функции pcre_compile;
- Проблема безопасности, связанная с отсутствием инициализации BG(page_uid) и BG(page_gid);
- Проблема безопасности, связанная с некорректным порядком обработки php_value в конфигации Apache;
- Вызов краха процесса через передачу в функцию imageloadfont() библиотеки gd, некорректного файла шрифтов;
- Переполнение буфера в реализации функции memnstr();
- Уязвимость, позволяющая обойти ограничение safe_mode (проверить права доступа к файлу) через передачу некорректных параметров в функцию posix_access (CVE-2008-2665);
- Получение доступа к данным в директориях вне ограничений safe_mode, путем создания поддиректории "http:" и манипуляции с последовательностью символов "../" при ее открытии в функциях chdir и ftok (CVE-2008-2666);
- Крах процесса при попытке работы с файлами вида URI/file..php, (содержащих две точки);
- Переполнение буфера в функциях библиотеки для работы с IMAP;
- В анонсе не сообщается об исправлениях двух обнаруженных после выхода PHP 5.2.6 уязвимостей, вероятно эти ошибки остаются неисправленными:
- Возможность обойти ограничения safe_mode и установить произвольное значение параметра error_log, не имея на это прав;
- Уязвимость, позволяющая атакующему обнулить содержимое файла БД (inifile, dbm, ndbm, qdbm, BerkeleyBD и т.п.), с которыми выполняются манипуляции через функцию dba_replace. Если злоумышленник сможет передать в качестве аргумента функции dba_replace символ с нулевым кодом ("\0"), то все содержимое обрабатываемого файла будет обнулено.
Ключевые исправления в PHP 5.2.7:
- Устранено несколько утечек памяти в расширениях readline и sqlite;
- Исправлены ошибки, связанные с некорректным парсингом дат в модуле date;
- В PDO расширении исправлены ошибки, приводящие к пробелемам при возвращении данных;
- Исправлен ряд ошибок в разных подсистемах, приводящих к краху процесса;
- В реализации функции strip_tags() налажена нормальная обработка "
- Налажена работа функции extract() при использовании флага EXTR_REFS;
- Добавлена возможность сохранения данных об ошибках в лог SAPI (Apache log);
Кроме того вышла третья альфа версия PHP 5.3. Релиз PHP 5.3 намечен на 1 квартал 2009 года. В новой ветке будет реализовано:
- Значительное увеличение производительности. Например при сравнении одного из снапшотов php 5.3 и последнего стабильного релиза, было замечено увеличение производительности Drupal на 20%, Qdig на 2%, typo3 на 30%, wordpress на 15%, xoops - на 10%.
- Namespaces - изолированные от остального кода пространства имен для классов, функций и констант.
- "late static binding" - привязка к вызываемому классу, вне контекста наследования (возможность получить имя класса, вызванного для выполнения статического метода);
- Mysqlnd - новый MySQL драйвер, работающий напрямую с MySQL, без использования libmysql.
- Из состава пакета удален модуль ext/msql, ext/ereg помечен как устаревший, ext/mhash заменен на ext/hash;
- __callStatic
- Поддержка OpenID
- Изменение техники округления чисел с плавающей точкой;
- User.ini с привязкой к директориям наподобие .htaccess,
- XSLT профайлинг
- Многоплатформенный getopt()
- Поддержка Sqlite3
- Опционально включаемый циклический сборщик мусора
- Новый синтаксис для определения строковых блоков, ограниченная поддержка GOTO, оператор "?:".
Дополнение: Релиз PHP 5.2.7 отменен из-за наличия критической уязвимости.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.