
Разработчики PHP выпустили экстренные обновления для устранения двух критических уязвимостей — CVE-2026-109618 и CVE-2026-109619 (по 9,2 балла по шкале CVSS 4.0). Ошибки получили общее название PHP2Shell и позволяют удалённо выполнять код без аутентификации.
Уязвимости затрагивают PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Наибольшему риску подвержены серверы с mod_php: для атаки достаточно одного специально сформированного запроса, причём ещё до запуска самого веб-приложения.
Как работают уязвимости
Обе проблемы связаны с некорректной обработкой памяти и внутреннего состояния PHP при аварийном завершении обработки запроса.
CVE-2026-109618 представляет собой цепочку ошибок, которая позволяет вызвать состояние нехватки памяти — out-of-memory — и добиться повреждения памяти процесса. Исследователи утверждают, что атакующий может управляемо спровоцировать сбой, обойти ограничения на размер POST-запроса и использовать состояние PHP после аварийного завершения.
CVE-2026-109619 связана с сохранением устаревшего глобального состояния PHP. Это приводит к уязвимости типа use-after-free, когда программа обращается к уже освобождённой области памяти. В зависимости от конфигурации атакующий может получить доступ к данным процесса или добиться выполнения произвольного кода.
В результате злоумышленник способен выполнить команды с правами веб-воркера. Кроме того, из памяти процесса могут быть извлечены пароли, API-ключи, токены сессий и другие секреты. Для эксплуатации не требуется предварительная аутентификация пользователя.
Уязвимыми оказались практически все версии PHP начиная с 5.4. Исправления вошли в состав следующих релизов:
- PHP 8.5.12;
- PHP 8.4.27;
- PHP 8.3.36;
- PHP 8.2.35.
Для веток PHP 7.4, 8.0 и 8.1 опубликованы минимальные исходные патчи. Это не означает возобновления поддержки этих версий: при их использовании рекомендуется перейти на актуальную ветку PHP. Если PHP установлен из репозитория дистрибутива, необходимо сверяться с бюллетенем поставщика и полной версией пакета: исправление может присутствовать даже при более старом номере PHP.
Рекомендации администраторам
- Обновите PHP до исправленной версии и обязательно перезапустите PHP-FPM, Apache и другие долгоживущие PHP-процессы.
- Проверьте сервер на признаки взлома: неизвестные
.php-файлы, подозрительные процессы, задания cron и исходящие соединения. Также стоит изучить логи на наличие необычных запросов и ошибок PHP-воркеров. - Если установить обновление сразу невозможно:
- временно отключите отслеживание прогресса загрузки в
php.ini (для PHP-FPM/Apache). Параметр:session.upload_progress.enabled = Off. После этого перезапустите PHP-FPM или веб-сервер, чтобы обновить все воркеры. Мера блокирует подтверждённые пути эксплуатации через механизм сессий для CVE-2026-109619, но не закрывает PHP2Shell полностью. Поэтому она не заменяет установку официального патча. Изменение черезini_set()илиFPM .user.iniдля этой меры не подходит, поскольку параметр должен быть отключён до разбора запроса. - ограничьте доступ не только к административным панелям, но ко всему уязвимому веб-сервису — например, по доверенным IP-адресам, через VPN или с помощью временной изоляции от интернета. Закрытие
/wp-admin,/bitrix/adminилиphpMyAdminсамо по себе не защищает публичные PHP-страницы: при атаке наmod_phpвыполнение кода может происходить ещё до запуска приложения. - временно отключите уязвимый сервис.
- временно отключите отслеживание прогресса загрузки в
Если сервер обслуживается нашими специалистами или вам нужна помощь с обновлением — отправьте запрос в поддержку.
Эксперты Cloudflare, Hadrian, Patchstack, Vega и watchTowr уже сообщили, что фиксируют попытки эксплуатации в реальных атаках, в том числе с использованием публичных эксплойтов. Специалисты ожидают дальнейшего роста активности злоумышленников.
Настройки WAF и дополнительные правила фильтрации могут закрыть отдельные векторы атак, но полноценной защитой считается только установка патчей.