PHP выпустит патч для двух критических RCE-уязвимостей

Проект PHP 21 октября в 14:00 UTC должен выпустить исправления для двух критических уязвимостей удалённого выполнения кода, получивших оценку CVSS 9,2 из 10. На момент публикации не было сообщений об эксплуатации, а PHP ещё не раскрыло затронутые версии, уязвимый компонент и точный механизм атаки.
До выхода релиза администраторы не могут подтвердить, защищает ли конкретная настройка от обеих проблем. Поэтому временные меры следует рассматривать только как снижение риска, а не как замену обновлению среды выполнения PHP.
Почему отключение Session Upload Progress не считается защитой
В качестве обходного решения в социальных сетях и профильных блогах распространяется параметр session.upload_progress.enabled=0. Он отключает включённую по умолчанию функцию Session Upload Progress, которая хранит сведения о ходе загрузки файла, чтобы другой запрос мог показать пользователю прогресс.
GMO Flatt Security первоначально предположила, что отключение функции может с некоторой вероятностью помочь, но затем уточнила: одной этой настройки недостаточно, а способы обхода ожидаются. Компания советует подготовить обновление, следить за признаками атак и установить исправление сразу после публикации.
Разработчик ядра PHP и автор документации Джина Питер Баньард также заявила, что единственной мерой смягчения остаётся обновление PHP. Кроме того, связь уязвимостей с Session Upload Progress официально не подтверждена: проект PHP не сообщал, в каком компоненте находятся ошибки.
Что подготовить к выходу исправления
Патчировать нужно среду, которая обслуживает веб-запросы: PHP-FPM, mod_php или CGI. Обновление WordPress, Laravel либо другого приложения не меняет версию PHP под ним. PHP выпускает исправления для четырёх поддерживаемых веток — 8.2–8.5; точные исправленные версии будут объявлены вместе с релизом.
GMO Flatt Security рекомендует заранее проверить порядок обновления и последующие проверки, отрепетировать изменения конфигурации, согласовать ответственных и возможность аварийного перезапуска. После установки следует сверить версию именно веб-процесса, а не вывод команды php -i в командной оболочке.
Как сократить риск, если обновление задерживается
CERT-EU рекомендует рассмотреть изоляцию интернет-доступных приложений от публичных сетей до установки исправления. Если полное отключение невозможно, сервис можно скрыть за VPN, списком разрешённых клиентов или аутентификацией на периметре и убедиться, что исходный сервер нельзя обойти напрямую.
Дополнительно стоит уменьшить последствия возможного компрометирования: сократить права процесса и объём данных на сервере, удалить сохранённые учётные данные и облачные роли, а журналы хранить в защищённом месте. Ветки старше PHP 8.2, включая 8.1, 7.x и 5.x, больше не получают исправлений от проекта; для них остаются обновление платформы, изоляция или вывод системы из эксплуатации.
Web Application Firewall может быть лишь слабой временной мерой: он видит только проходящий через него трафик и может не распознать варианты атаки. Практический вывод для бизнеса — не считать изменение одного параметра закрытием уязвимости, заранее подготовить обновление веб-рантайма и ограничить внешний доступ к PHP-сервисам до подтверждённой установки патча.

