Представлен релиз интерпретатора языка программирования PHP 5.3.7 в котором устранено 6 уязвимостей и исправлено около 100 ошибок.

Из связанных с безопасностью исправлений в PHP 5.3.7 можно отметить:

  • Переполнение буфера путем передачи некорректного salt в функцию crypt();
  • Возможность подстановки части файлового пути из-за некорректного очищения в функции rfc1867_post_handler имен файлов, передаваемых через multipart/form-data POST-запросы. Атакующий может изменить заданный логикой приложения абсолютный путь и создать или переписать произвольные файлы (CVE-2011-2202);
  • Переполнение стека в функции socket_connect() может быть использовано атакующим для выполнения своего кода через указание излишне длинного файлового пути для Unix-сокета (CVE-2011-1938);
  • Использование памяти, после её очистки (use-after-free) в функции substr_replace(), в зависимости от контекста позволяет атакующему соверщить DoS-атаку через повреждение областей памяти или осуществить другие воздействия, используя одну и ту же переменную для нескольких аргументов (CVE-2011-1148);
  • Обновлена библиотека crypt_blowfish, из-за возникновения проблемы, упрощающей подбор некоторых паролей (CVE-2011-2483);
  • Возможность инициирования краха из-за ошибки в error_log();

Важные исправления, не связанные с безопасностью:

  • Обновлены версии поставляемых в комплекте библиотек Sqlite3 (3.7.7.1) и PCRE (8.12);
  • Крах при вызове call_user_func с неизвестным именем функции;
  • Крах при использовании track_errors;
  • Крах при присвоении значения размерности для не массива;
  • Крах при при обработке ошибок в dtor;
  • Крах при установке опции allow_call_time_pass_reference в значение Off;
  • Крах при использовании php_win_err;
  • Крах в zend_mm_check_ptr;
  • Крах в gc_remove_zval_from_buffer;
  • Крах при вызове get_browser(), если в настройках директива browscap установлена через php_admin_value;
  • Приводящие к крахам ошибки в реализации SAPI;
  • Крах при вызове DatePeriod(NULL);
  • Крах при использовании mysqli::get_warnings в мультизапросах;
  • Крах при вызове Phar::mount() с некорректными параметрами;
  • Крах при использовании двойных итераторов, GlobIterator, SplFileObject и SplTempFileObject в ситуации, когда пользовательский класс не вызывает родительский конструктор;
  • Крах при вызове SplFileObject::__construct() с некорректными параметрами;
  • Крах при использовании DirectoryIterator с именем директории, начинающейся на нулевой символ (\0);
  • Крах в неинициализированном RecursiveIteratorIterator;
  • Крах при записи в предварительной созданный сокет, в случае закрытия копии данного сокета;
  • Крах при использовании некорректных флагов в addGlob().

Разработчики напоминают, что ветка PHP 5.2 больше не поддерживается и все находящиеся в ней уязвимости остаются неисправленными, поэтому пользователям рекомендуется обновить свои системы до версии PHP 5.3.7.

Источник: http://www.opennet.ru/opennews/art.shtml?num=31537