Даже если Drupal, WordPress или Joomla обновлены, сайт может оставаться уязвимым из-за версии PHP. PHP2Shell — это название двух критических уязвимостей в движке PHP с оценкой CVSS 9,2. Исправления были выпущены 21 октября 2026 года. Источник: PHP Foundation.
Как возникает проблема
Обе уязвимости связаны с управлением памятью:
- CVE-2026-109618: нехватка памяти может прервать работу PHP, когда внутренние структуры инициализированы лишь частично. Их последующая обработка может привести к повреждению памяти.
- CVE-2026-109619: после запроса могут остаться ссылки на освобождённую память, которые затем использует другой запрос.
При определённых условиях злоумышленник без учётной записи может выполнить код с правами веб-процесса или получить доступ к конфиденциальным данным в памяти. Проблема находится в самом PHP, поэтому она может затронуть и приложения собственной разработки. Источники: описание OOM, описание глобального состояния, PHP2Shell.
Может ли любой человек атаковать сайт с помощью ИИ?
Публичные ИИ-сервисы имеют фильтры и защитные механизмы, призванные блокировать их использование для кибератак. Доступ к чат-боту сам по себе не даёт человеку без подготовки в IT или «вайбкодеру» способности эксплуатировать PHP2Shell. Пример: защитные механизмы Anthropic.
Разработка эксплойта и его адаптация к конкретному серверу требуют понимания PHP, работы памяти и конфигурации цели. Опытные специалисты могут сочетать эти знания со специализированными инструментами, включая собственные ИИ-системы. При этом собственный ИИ не является обязательным условием, а защита публичных сервисов не даёт абсолютной гарантии. Исследование Wiz.
Для владельца личного блога существование уязвимости не означает, что за ним кто-то целенаправленно следит. Прицельная атака требует мотивации, времени и ресурсов; государственные учреждения и публичные люди могут представлять интерес для таких операций. Однако у нас нет данных, подтверждающих, что именно они являются основными целями PHP2Shell. Небольшой сайт тоже может быть обнаружен автоматически, поэтому обновление остаётся необходимым.
Как устранить уязвимость
Обновите PHP, затем перезапустите использующие его службы и рабочие процессы. Первые исправленные версии:
- PHP 8.2: 8.2.35
- PHP 8.3: 8.3.36
- PHP 8.4: 8.4.27
- PHP 8.5: 8.5.12
Подходят и более поздние версии, содержащие исправление. Для Linux-пакетов с перенесёнными исправлениями (backport) проверьте бюллетень поставщика. Источник: PHP.
Действия в зависимости от сервера
Внимание: выполняйте эти действия только при наличии опыта администрирования серверов. Обновления и перезапуски могут прервать работу размещённых сайтов. Подготовьте проверенную резервную копию и протестируйте совместимость. Если вы не уверены, обратитесь к администратору или хостинг-провайдеру.
cPanel / WHM
В cPanel → MultiPHP Manager выберите домен, укажите совместимую ветку PHP с исправлением и нажмите Apply. Выбор «8.4» сам по себе не подтверждает установку патча: администратор должен проверить полную версию пакета. Управление установленными версиями PHP выполняется через WHM → EasyApache 4; обновите пакеты и перезапустите соответствующие службы PHP. Если доступа к WHM нет, попросите провайдера подтвердить устранение обеих CVE. Документация: MultiPHP Manager, EasyApache 4.
Linux: Ubuntu / Debian и AlmaLinux
В Ubuntu/Debian обновите через APT все установленные PHP-пакеты используемой ветки, включая расширения. Перезапустите соответствующую службу PHP-FPM; если используется Apache с mod_php, перезапустите Apache. Названия пакетов и служб зависят от установки. Документация Ubuntu.
Для стандартных пакетов AlmaLinux поставщик рекомендует:
sudo dnf upgrade 'php*'sudo systemctl restart php-fpm
При использовании mod_php перезапустите httpd вместо PHP-FPM. Для установок с префиксами пакетов или других дистрибутивов семейства RHEL адаптируйте команды по документации поставщика. Подтвердите наличие патча по бюллетеню дистрибутива: базовая версия может остаться прежней благодаря backport. Инструкция AlmaLinux.
Docker и другие панели хостинга
В Docker выберите образ с исправлением, загрузите его или пересоберите собственный образ на обновлённой базе, затем пересоздайте контейнеры. Простой перезапуск сохраняет старый образ. Документация: сборка, пересоздание контейнеров.
В Plesk проверьте версию, назначенную домену, в разделе PHP Settings и попросите администратора обновить среду выполнения, если исправленной версии нет. На управляемом хостинге запросите подтверждение установки патчей для обеих CVE. Документация Plesk.
После изменений проверьте PHP, который фактически использует веб-сервер: он может отличаться от версии в терминале. На каждом экземпляре протестируйте авторизацию, формы и загрузку файлов.
Обновление CMS само по себе не обновляет PHP. WAF или временные изменения конфигурации могут снизить отдельные риски, но не заменяют патч. Источник: рекомендации PHP2Shell.