VMTech
Обсудить проект →

PHP перевыпустил Windows-сборки из-за уязвимости Brotli

PHP перевыпустил Windows-сборки из-за уязвимости Brotli

PHP перевыпустил официальные Windows-пакеты для веток 8.2–8.5, чтобы устранить CVE-2026-111497 в библиотеке сжатия Brotli. Новые сборки 8.5.12-1, 8.4.27-1, 8.3.36-1 и 8.2.35-1 включают Brotli 1.2.1. Уязвимость может приводить к повреждению памяти и потенциальному выполнению кода.

Обновление вышло через пять дней после релизов от 21 октября, закрывавших две уязвимости удалённого выполнения кода PHP2Shell. Исходный код PHP в новых архивах не менялся: исправления PHP2Shell в них сохранены, а заменённым компонентом стала Brotli.

Когда уязвимость достижима

PHP указывает, что проблема может быть достигнута через расширение cURL, если оно автоматически распаковывает HTTP-ответы. В обычной конфигурации cURL эта функция выключена, однако приложение или используемая им HTTP-библиотека могут включить её.

В PHP автоматическое декодирование активирует параметр CURLOPT_ENCODING. Пустое значение позволяет cURL принимать все поддерживаемые форматы сжатия. В Guzzle опция decode_content по умолчанию задаёт такое пустое значение для запросов, отправляемых через cURL; это указано в коде релизов Guzzle 7.16.1 и 8.3.1.

Таким образом, приложения с настройками Guzzle по умолчанию соответствуют условию, при котором дефект может быть достигнут в прошлых Windows-сборках PHP. Для атаки приложению должен прийти специально сформированный сжатый ответ от сервера, с которым оно устанавливает HTTP-соединение.

Какие версии нужно установить

Software bill of materials для x64 Non Thread Safe-сборок прошлой недели показывает Brotli 1.2.0 — одну из затронутых версий. Исправления для библиотеки ранее вышли в Brotli 1.2.1, 1.1.1 и 1.0.10. Google оценил CVE-2026-111497 в 9,2 балла по CVSS 4.0, Red Hat — в 8,1 балла по CVSS 3.1.

PHP рекомендует пользователям Windows скачать новые архивы со страницы загрузок. Команда php -v после замены покажет прежний номер PHP, поэтому ориентироваться следует на суффикс -1 в имени файла и контрольную сумму SHA-256. Например, новый архив называется php-8.5.12-1-nts-Win32-vs17-x64.zip.

Временное снижение риска

PHP не предложил обходного решения для систем, которые пока нельзя обновить. OpenAI рекомендует до установки исправления отключить автоматическое распаковывание Brotli в HTTP-клиентах. Удаления br из заголовка Accept-Encoding недостаточно: сервер всё равно может прислать такой ответ.

Для PHP это означает не задавать CURLOPT_ENCODING. В Guzzle следует установить decode_content=false; при этом автоматически не будут распаковываться и ответы gzip. Бизнесу стоит проверить Windows-развёртывания PHP, использование Guzzle и настройки HTTP-клиентов, затем установить пересобранные пакеты и сверить их SHA-256.

#phpsecurity#windowssecurity#brotli#vulnerability
Открытая аналитика
На сайте 0 просмотров
мин чтения 3 26.10.2026
Instagram

PHP перевыпустил Windows-сборки из-за уязвимости Brotli

Открыть публикацию в Instagram ↗