PHP выпустил экстренные патчи для двух уязвимостей PHP2Shell
Две уязвимости с оценкой 9,2 из 10 позволяют неаутентифицированному атакующему выполнить код на веб-сервере. Cloudflare сообщила о первых попытках эксплуатации, однако подтверждённых успешных взломов пока нет.

Разработчики PHP выпустили обновления для двух критических уязвимостей в среде выполнения языка, объединённых под названием PHP2Shell. Проблемы получили идентификаторы CVE-2026-109618 и CVE-2026-109619 и оценку 9,2 по CVSS v4.0.
Уязвимости находятся в самом PHP, а не в коде конкретных сайтов. Поэтому потенциально уязвимы серверы, обрабатывающие веб-запросы через PHP-FPM, Apache mod_php, php-cgi, FrankenPHP и LiteSpeed — даже если приложение на сервере не содержит собственных известных проблем безопасности.
Исправления вошли в PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. После обновления необходимо перезапустить Apache, PHP-FPM и другие постоянно работающие процессы PHP. Обновление WordPress, Laravel или другого приложения само по себе не заменяет установленную на сервере среду выполнения PHP.
Наибольший риск, по данным опубликованного описания, связан с Apache mod_php: для него продемонстрирован сценарий, в котором один неаутентифицированный запрос запускает атаку ещё до выполнения кода приложения. Для одной из уязвимостей не показан полный рабочий сценарий против PHP-FPM, хотя разработчики считают этот режим восприимчивым; вторая проблема позволяла добиться выполнения кода и через PHP-FPM, но этот путь зависит от операции внутри работающего приложения.
Помимо выполнения кода, атака может позволить читать память рабочего процесса PHP. В ней могут находиться пароли, токены аутентификации, API-ключи и сертификаты, оставшиеся от обработки других запросов.
Cloudflare сообщила о ранних попытках эксплуатации и обновлении защитных правил, назвав их временной мерой и призвав администраторов установить патчи. В то же время на момент публикации данных о подтверждённых успешных компрометациях не было. Исследователи watchTowr, воспроизведшие CVE-2026-109618, также сообщали об отсутствии известных случаев эксплуатации в реальных атаках по состоянию на 11:26 UTC 21 октября.
Полной защитой разработчики называют только обновление PHP. Для временного снижения риска CVE-2026-109619 предлагается отключить параметр session.upload_progress.enabled и перезапустить все рабочие процессы; на PHP 8.5 также следует установить fatal_error_backtraces=0. Однако эта настройка блокирует лишь подтверждённые сценарии, связанные с сессиями, и не устраняет все варианты атаки. Для CVE-2026-109618 полноценной конфигурационной замены патчу нет.
PHP 8.1 и более старые ветки больше не получают обновлений от проекта. Для PHP 7.4, 8.0 и 8.1 опубликованы исправления в исходном коде, предназначенные для самостоятельной сборки или ожидания обновлений от поставщика. В дистрибутивах и продуктах с долгосрочной поддержкой патч может быть перенесён в пакет со старым номером версии, поэтому администраторам рекомендуют проверять журнал изменений пакета по идентификаторам CVE.