21 октября 2026 года разработчики PHP выпустили экстренные обновления безопасности. Причиной стали две критические уязвимости — CVE-2026-109618 и CVE-2026-109619, получившие общее неофициальное название PHP2Shell.
Обе уязвимости получили оценку 9,2 балла по CVSS v4.0. При определённых условиях они позволяют злоумышленнику выполнить произвольный код на сервере без предварительной авторизации.
Предупреждения опубликовали разработчики PHP, национальная служба реагирования на компьютерные инциденты Казахстана KZ-CERT и другие организации, занимающиеся кибербезопасностью.
Проблема обнаружена непосредственно в PHP, а не в WordPress. Поэтому обновление темы, плагинов или самой CMS не устраняет эти уязвимости. Необходимо обновить PHP до исправленной версии.
Что такое PHP2Shell и почему это опасно
PHP — серверный язык программирования, на котором работает множество сайтов, включая WordPress, интернет-магазины и корпоративные веб-приложения.
Когда посетитель открывает страницу сайта, сервер выполняет PHP-код, обрабатывает данные, обращается к базе данных и формирует ответ браузеру.
Обнаруженные уязвимости относятся к внутренним механизмам обработки памяти PHP. В определённых условиях специально сформированные HTTP-запросы могут вызвать ошибки управления памятью и привести к выполнению постороннего кода.
Это означает, что проблема может возникать на уровне PHP ещё до выполнения логики самого сайта.
Две уязвимости: в чём различие
CVE-2026-109618 — повреждение памяти при нехватке ресурсов
Первая уязвимость связана с обработкой ситуации, когда PHP исчерпывает доступный лимит памяти — Out of Memory (OOM).
При прерывании обработки запроса некоторые внутренние структуры могут остаться не полностью инициализированными. Последующая очистка памяти в определённых условиях способна обратиться к некорректным данным.
При успешной эксплуатации это может привести к нарушению работы PHP-процесса или удалённому выполнению кода.
CVE-2026-109619 — использование устаревшего состояния памяти
Вторая уязвимость связана с сохранением ссылок на память, которая уже была освобождена.
При обработке следующего запроса PHP-процесс может обратиться к такому устаревшему состоянию до завершения обычной инициализации. Это создаёт условия для нарушения целостности памяти и выполнения постороннего кода.
Обе проблемы относятся к критическим, поскольку для некоторых сценариев атаки не требуется предварительно получать логин и пароль администратора.
Remote Code Execution (RCE) — удалённое выполнение кода. Если такая атака успешна, злоумышленник может выполнять действия в пределах прав уязвимого серверного процесса. Конкретные последствия зависят от конфигурации сервера и предоставленных ему разрешений.
Какие версии PHP подвержены угрозе
21 октября 2026 года были выпущены исправленные версии для актуальных веток PHP:
| Ветка PHP | Уязвимые версии | Исправленная версия |
|---|---|---|
| PHP 8.2 | 8.2.34 и старше | 8.2.35 |
| PHP 8.3 | 8.3.35 и старше | 8.3.36 |
| PHP 8.4 | 8.4.26 и старше | 8.4.27 |
| PHP 8.5 | 8.5.11 и старше | 8.5.12 |
Если сайт использует более старую ветку PHP, ситуация сложнее. Например, PHP 5.6, 7.x, 8.0 и 8.1 больше не получают обычные обновления безопасности от основного проекта PHP.
Некоторые поставщики серверного программного обеспечения поддерживают такие версии самостоятельно и выпускают исправленные сборки. Но наличие одинакового номера версии ещё не гарантирует наличие необходимого исправления.
Например, Plesk выпустил исправленные сборки PHP 7.4.33, 8.0.30 и 8.1.34 для Linux с датой сборки 21 октября 2026 года. Для более старых версий может потребоваться отдельная расширенная поддержка.
Предпочтительное решение — переход на поддерживаемую ветку PHP и установку всех доступных исправлений.
Почему WordPress тоже находится в зоне риска
WordPress работает на PHP. Следовательно, безопасность сайта зависит не только от самого WordPress и его дополнений, но и от серверной среды.
Даже если на сайте установлены актуальные плагины, используются сложные пароли и ограничен доступ к административной панели, уязвимость в PHP остаётся отдельным риском.
Такая ситуация характерна не только для WordPress. Аналогичная проблема может затрагивать другие PHP-приложения, работающие на уязвимой версии интерпретатора.
При этом наличие уязвимой версии само по себе не доказывает, что сайт уже взломан. Для установления факта компрометации необходима отдельная проверка.
Как проверить версию PHP на своём сайте
Самый простой способ — проверить настройки PHP в панели управления хостингом или запросить сведения у технической поддержки.
Для сайтов под управлением WordPress версия обычно отображается в разделе «Инструменты → Здоровье сайта → Информация → Сервер».
В Plesk версию PHP, используемую конкретным сайтом, можно посмотреть в разделе настроек PHP соответствующего домена.
Проверить версию PHP, которую использует именно сайт
Убедиться, что установлена исправленная сборка
Открыть главную страницу и основные разделы
Проверить административную панель WordPress
Проверить формы обратной связи и отправку писем
Проверить плагины, интеграции и фоновые задания
Убедиться, что новые ошибки PHP не появились в журналах
Почему нельзя просто переключить PHP без проверки
Обновление PHP устраняет известные уязвимости соответствующей версии, но переход между основными ветками может выявить несовместимость старого программного обеспечения.
Особенно внимательно необходимо подходить к сайтам, которые много лет работают на PHP 5.6 или 7.x, используют устаревшие темы, неподдерживаемые плагины либо индивидуально разработанный код.
При резком переходе на PHP 8.x такой сайт может перестать открываться из-за несовместимых функций или синтаксиса.
Поэтому профессиональное обновление включает не только переключение версии, но и проверку совместимости, резервное копирование и тестирование.
Возвращение на уязвимую версию PHP ради восстановления работы сайта может снова открыть известную критическую угрозу. Если обновление вызвало сбой, необходимо разбирать совместимость приложения, а не оставлять небезопасную конфигурацию на неопределённый срок.
Что делать владельцу сайта прямо сейчас
Оптимальная последовательность действий зависит от того, кто управляет сервером и есть ли доступ к настройкам PHP.
Определить фактическую версию PHP и поставщика сборки
Проверить сведения об исправлениях у PHP или хостинг-провайдера
Сделать резервную копию файлов и базы данных
По возможности проверить обновление на тестовой копии сайта
Установить исправленную версию PHP
Проверить работоспособность сайта и интеграций
Просмотреть журналы на предмет необычных ошибок и подозрительных запросов
Продолжить регулярное обновление WordPress и его компонентов
Если используется собственный сервер, необходимо учитывать не только PHP сайтов, но и другие компоненты инфраструктуры. Например, Plesk также выпускал исправления для внутреннего PHP-движка панели управления.
Временные ограничения доступа, фильтрация запросов и средства защиты веб-приложений могут снижать отдельные риски, но не заменяют исправление самого PHP.
Обновление PHP — только один уровень защиты
Даже после устранения PHP2Shell сайту по-прежнему необходимы контроль доступа, резервное копирование, обновление компонентов и защита публичных форм.
Отдельно мы разобрали, почему через формы WordPress проходит спам и как защитить сайт от автоматических отправок.
Вопросы практической кибербезопасности и диагностики технических проблем также рассматриваются в нашем курсе информационной безопасности для IT-специалистов.
Частые вопросы
Ответы на основные вопросы о безопасности PHP.
Нужно ли обновлять WordPress после обнаружения PHP2Shell?
WordPress рекомендуется поддерживать в актуальном состоянии. Но для устранения CVE-2026-109618 и CVE-2026-109619 требуется исправление PHP.
Если сайт работает нормально, значит он защищён?
Нет. Нормальная работа сайта не подтверждает отсутствие уязвимостей. Необходимо проверить версию PHP и наличие исправлений.
Достаточно ли установить антивирус или WAF?
Нет. Эти средства дополняют защиту, но не заменяют исправление PHP.
Можно ли безопасно использовать старый PHP?
Некоторые поставщики выпускают исправленные сборки устаревших версий. Долгосрочное решение — переход на поддерживаемую ветку PHP.
Источники
- PHP — официальные объявления о выпусках безопасности
- KZ-CERT — предупреждение о PHP2Shell
- Plesk — исправленные версии PHP
WEB-LABS занимается разработкой и техническим сопровождением сайтов. Поможем оценить совместимость старого сайта с новой версией PHP, разобрать ошибки после обновления и организовать дальнейшую поддержку. Свяжитесь с WEB-LABS, чтобы обсудить задачу.