21 октября 2026 года команда PHP выпустила экстренные обновления безопасности, закрывающие две критические уязвимости в самом ядре языка. Обе получили оценку 9,2 из 10 по шкале CVSS 4.0 и позволяют злоумышленнику удалённо выполнить код на сервере без авторизации. Проблема не в WordPress, не в 1С-Битрикс и не в конкретном плагине — уязвимо само серверное окружение, на котором работает PHP. Если ваш сайт использует PHP и вы ещё не обновились, это стоит сделать в ближайшие часы.
Две уязвимости, которые работают в паре
PHP Security Team описал два независимых сценария атаки, которые в сумме создают серьёзную угрозу.
CVE-2026-109618 — RCE через повреждение памяти при OOM. Когда PHP не хватает памяти (out-of-memory), процесс прерывается на середине инициализации внутренних данных запроса. При очистке эти неполные данные могут быть обработаны как валидные, что открывает путь к выполнению кода.
CVE-2026-109619 — RCE через устаревшее глобальное состояние. Внутреннее состояние, принадлежавшее одному запросу, может «пережить» освобождение памяти и остаться доступным для следующего запроса, который обработает тот же рабочий процесс. Если следующий запрос попадёт на эти «застрявшие» данные до нормальной инициализации, он может использовать их в своих целях.
Опаснее всего конфигурация Apache с модулем mod_php: для неё уже продемонстрирован сценарий, при котором атака срабатывает до того, как выполнится хотя бы одна строка кода вашего сайта. Также в зоне риска PHP-FPM, php-cgi, FrankenPHP и LiteSpeed.
Какие версии уязвимы
Затронуты все поддерживаемые ветки PHP, выпущенные до 21 октября 2026 года:
- PHP 8.5.x до 8.5.12
- PHP 8.4.x до 8.4.27
- PHP 8.3.x до 8.3.36
- PHP 8.2.x до 8.2.35
PHP 8.1 и более старые версии уже не получают регулярных обновлений от проекта, но для них выпущены отдельные патчи в исходном коде для тех, кто собирает PHP вручную или ждёт исправлений от LTS-вендора. Обратите внимание: PHP 8.2 достигает конца жизненного цикла 31 декабря 2026 года, и после этой даты исправлений для него не будет.
Что сделать в первую очередь
Единственное полное решение — обновить PHP до исправленной версии. Обновление CMS, плагинов или темы не закрывает уязвимость, потому что дыра находится уровнем ниже, в самом интерпретаторе.
- Сделайте резервную копию файлов сайта и базы данных. Обновление PHP обычно проходит гладко, но проверить совместимость и иметь возможность откатиться — разумно.
- Обновите PHP до 8.5.12, 8.4.27, 8.3.36 или 8.2.35 в зависимости от вашей ветки. Если вы на shared-хостинге, версию PHP обычно можно сменить в панели управления. Если на VPS или выделенном сервере — через пакетный менеджер дистрибутива или сборку из исходников.
- Перезапустите PHP-FPM или веб-сервер, чтобы изменения вступили в силу.
- Проверьте работу сайта: формы, корзину, личный кабинет, админку. После смены версии PHP иногда проявляются несовместимости с устаревшими плагинами.
Если вы не уверены, какая версия PHP используется, посмотрите в панели хостинга или создайте временный файл с phpinfo() — но не оставляйте его открытым дольше нескольких минут.
Если обновление прямо сейчас невозможно
PHP Security Team прямо предупреждает: полных временных мер, которые делают установку безопасной, не существует. Обновление — единственный надёжный вариант. Но если обновиться нужно отложить на несколько часов, эти настройки снижают риск для конкретных сценариев атаки.
Для CVE-2026-109618 (OOM):
- Установите
memory_limit = -1на уровне пула FPM или конфигурации Apache так, чтобы приложение не могло переопределить это значение обратно на конечное. Это убирает контролируемый сбой по памяти, но не защищает от аппаратных ошибок аллокации. - Снизьте
post_max_sizeдо 8 МБ, если загрузка файлов не нужна, или до 32 МБ, если нужна. Убедитесь, чтоupload_max_filesizeменьшеpost_max_size.
Для CVE-2026-109619 (устаревшее состояние):
- Установите
session.upload_progress.enabled = 0на уровне php.ini или конфигурации пула FPM, а затем перезапустите все рабочие процессы. Не полагайтесь наini_set()или.user.ini— они могут не примениться до обработки запроса. - На PHP 8.5 дополнительно установите
fatal_error_backtraces = 0и перезапустите воркеры.
Эти меры не заменяют обновление. Они лишь выигрывают время.
Отдельно про WordPress-плагины
Пока все смотрят на ядро PHP, в экосистеме WordPress тоже есть свежие критические уязвимости, которые стоит проверить.
Duplicator (CVE-2026-82814). Плагин для резервного копирования и миграции уязвим к внедрению PHP-объектов через десериализацию данных из базы. Атакующий может сохранить вредоносный объект в публичном контенте сайта, дождаться, пока администратор создаст пакет и запустит миграцию, и выполнить команды операционной системы. Затронуты версии Duplicator до 1.5.17 включительно и Duplicator Pro до 4.6.10 включительно.
Site Reviews (CVE-2026-82925). Плагин отзывов до версии 8.3.0 не проверяет входные данные и позволяет неавторизованному пользователю внедрить произвольный PHP-объект. Проблема связана с ошибками в валидации и управлении криптографическими ключами.
Если эти плагины установлены, обновите их до актуальных версий или временно отключите. Уязвимость в плагине и уязвимость в PHP — разные вещи, но обе могут привести к выполнению кода на сервере, и проверять их стоит одновременно.
Короткий итог
Ситуация с PHP2Shell — не та, где можно ждать «следующего планового обновления». Уязвимости критические, техника атаки уже описана публично, и риск реален для любого сайта, который обрабатывает веб-запросы на уязвимой версии PHP. Обновите PHP, проверьте работу сайта, а если используете Duplicator или Site Reviews — обновите и их. Если не уверены, какая версия PHP стоит на сервере и как её безопасно обновить, напишите нам — посмотрим конфигурацию и поможем закрыть уязвимость без остановки сайта.
