Доступны (http://php.net/archive/2015.php) корректирующие выпуски языка программирования PHP 5.6.8, 5.5.24 и 5.4.40, в которых устранены уязвимости и исправлено около 40 ошибок (http://php.net/ChangeLog-5.php). В PHP 5.6.8 и 5.5.24 устранены две уязвимости (CVE-2015-1351 (https://bugs.php.net/bug.php?id=68677) - обращение к освобождённой памяти в OPCache и CVE-2015-1352 (http://bugs.php.net/68741) - разыменование указателя NUL в дополнении для работы с PostgreSQL), а в 5.4.40 - четыре (CVE-2014-9709 - переполнение буфера в GD, CVE-2015-2301, CVE-2015-2783 - уязвимости в Phar, CVE-2015-1352 - уязвимость в дополнении postgresql).Кроме того, в списке изменений можно заметить несколько связанных с безопасностью исправлений, которые в анонсе не помечены как уязвимости:
- Ошибка (https://bugs.php.net/bug.php?id=69218) в apache2handler для apache 2.4, которая может потенциально привести к удалённому выполнению кода;
- Возможность (https://bugs.php.net/bug.php?id=69134) переопределения параметров PHP_INI_SYSTEM в настройках для отдельных директорий;
- Дополнительные исправления для уязвимости (https://bugs.php.net/bug.php?id=69152) в exception::getTraceAsString;
- Инициирование (https://bugs.php.net/bug.php?id=69337) краха через php_stream_url_wrap_http_ex();
- Отсутствие (http://bugs.php.net/69353) проверок на нулевые байты в файловом пути во многих расширениях.- Разыменование (http://bugs.php.net/68740) указателя NULL в Ereg;
- Переполнение буфера (http://bugs.php.net/69324) в расширении Phar (CVE-2015-2783);
Из не связанных с безопасностью исправлений можно отметить крах php при некоторых условиях использования __get() и оператора "++"; сбой работы parse_url для некорректных URL; вывод через serialize некорректных данных для нестроковых значений; крах (http://bugs.php.net/69221) при использовании генератора в комбинации с итератором; поддержка HTTP2 в дополнении curl; добавление проверки RAND_egd для обеспечения сборки с LibreSSL;
URL: http://php.net/archive/2015.php
Новость: https://www.opennet.ru/opennews/art.shtml?num=42052
> Ошибка в apache2handler для apache 2.4, которая может потенциально привести к удалённому выполнению кода;Это выглядит интересно, но непонятно может ли реально привести к уязвимости.
> Возможность переопределения параметров PHP_INI_SYSTEM в настройках для отдельных директорий;
Контекст: некоторые параметры отмечены как PHP_INI_PERDIR, т.е. их можно выставлять в том числе через .htaccess, а некоторые как PHP_INI_USER и их можно изменять в рантайме (ini_set). Уязвимость заключается в том, что в винде (!) через реестр можно изменять не только PHP_INI_USER-параметры (что является штатной возможностью), но и PHP_INI_PERDIR (чего вроде как не должно быть). Прям "голактеко опасносте".
> Дополнительные исправления для уязвимости в exception::getTraceAsString;
Касается только SOAP. Там вечно какие-то проблемы с обработкой исключений, никак не починят.
> Инициирование краха через php_stream_url_wrap_http_ex();
$http_response_header - это вообще мега-уродливый костыль. "Нужно куда-нибудь впилить заголовки ответа при работе по http через стримы? А давайте зафигачим магическую переменную в текущем скопе!".
> Отсутствие проверок на нулевые байты в файловом пути во многих расширениях.
xmlwriter, dom, finfo - не так чтобы постоянно используемые, но и не такая уж экзотика. Неприятные уязвимости.
> Разыменование указателя NULL в Ereg;
Пофигу - ereg уже давным давно deprecated и будет выпилен в следующей версии.
Надо все уязвимости в отдельный модуль вытащить - пусть, кто хочет, тот ставит, а кто не хочет - тот не ставит. А то неудобно всё в базе таскать.
> Надо все уязвимости в отдельный модуль вытащить - пусть, кто хочет, тот
> ставит, а кто не хочет - тот не ставит. А тоВсе уязвимости и так вынесены -- в [U]предыдущие[/U] версии. Хочешь - ставь. :D
> неудобно всё в базе таскать.
Да, неудобно. "База движется." Головка может закружиться.
А по-моему, хорошая идея. Вынести отдельно:php5-bugs-5.4.40
php5-lags-5.4.40
php5-vulnerabilities-5.4.40И кому надо - пусть ставит.
> А по-моему, хорошая идея. Вынести отдельно:
> php5-vulnerabilities-5.4.40
> И кому надо - пусть ставит.Фантазёры. Повторяю: на LOR-e Машину Времени похппешникам не дадут.
Слишком много кода считается базовым ядром, вот за ним следить и сложно. Потому что PHP как бы язык который позиционирует себя как "У нас есть все и для всех" из коробки