PHP исправила уязвимость выполнения кода в Brotli для Windows
PHP обновила пакеты для Windows до версий 8.2.35-1, 8.3.36-1, 8.4.27-1 и 8.5.12-1
PHP выпустила обновлённые официальные пакеты для Windows, включающие версии PHP 8.2, 8.3, 8.4 и 8.5. Обновления устраняют уязвимость CVE-2026-111497 в библиотеке сжатия Brotli. Уязвимость позволяла злоумышленнику повредить память и потенциально выполнить произвольный код. PHP связывает возможность эксплуатации уязвимости с использованием расширения cURL при автоматическом распаковывании HTTP-ответов. Расширение cURL отключает эту функцию по умолчанию, однако приложения и клиентские библиотеки HTTP могут её активировать. Обновлённые пакеты используют ту же исходную кодовую базу PHP, что и предыдущие релизы, сохраняя исправления для двух других уязвимостей удалённого выполнения кода. В них интегрирована исправленная версия Brotli 1.2.1. PHP публикует списки компонентов программного обеспечения (software bill of materials) для каждого пакета. В списках для сборок x64 Non Thread Safe от 21 октября фигурировала версия Brotli 1.2.0.
Уязвимость затрагивает PHP для Windows с включённым автораспаковыванием cURL
Уязвимость CVE-2026-111497 затрагивает пакеты PHP для Windows, использующие расширение cURL с включённой функцией автоматического распаковывания HTTP-ответов. Эта функция активируется опцией CURLOPT_ENCODING в коде PHP. Библиотека HTTP-клиентов Guzzle версии 7.16.1 и 8.3.1 включает автоматическое распаковывание по умолчанию. Приложения, использующие Guzzle с настройками по умолчанию, и пакеты PHP для Windows, выпущенные до обновлений, подвержены риску. Атака осуществляется через специально сформированный сжатый ответ от сервера, к которому подключается PHP-приложение. Уязвимость получила оценку Critical (9.2/10) по шкале CVSS 4.0 от Google и Important (8.1/10) по шкале CVSS 3.1 от Red Hat. Исследователи OpenAI обнаружили уязвимость. Google исправила её в версиях Brotli 1.2.1, 1.1.1 и 1.0.10 21 октября. Другие программные продукты, использующие собственную копию Brotli, такие как Node.js и Bun, также выпустили исправления. На момент обновления каталога CISA от 23 октября эксплуатации уязвимости не зафиксировано.
Установите обновлённые пакеты PHP или отключите автораспаковку Brotli
PHP рекомендует пользователям Windows установить новые сборки с официальной страницы загрузок. Идентификаторы новых версий — -1 в имени файла (например, php-8.5.12-1-nts-Win32-vs17-x64.zip) и SHA-256 хэш, указанный на странице загрузок. Версия PHP в выводе команды php -v остаётся прежней. PHP не предлагает обходных путей для систем, которые невозможно обновить немедленно. OpenAI советует отключить автоматическое распаковывание Brotli в HTTP-клиентах до установки обновлений. Исследователи предупреждают, что удаление br из заголовка Accept-Encoding само по себе не предотвращает отправку данных сервером. В коде PHP это означает отказ от установки опции CURLOPT_ENCODING. В Guzzle это достигается установкой параметра decode_content в false, что отключает всё автоматическое декодирование.
Коротко в карточках


Опубликовано в канале 27 октября, 13:08
Каждый материал сайта выходит в канале в тот же момент.
Источники · 3