PHP2Shell это две критические уязвимости в самом интерпретаторе PHP, CVE-2026-109618 и CVE-2026-109619. При определённых условиях они дают выполнить чужой код на сервере без логина и пароля. Исправления вышли 21 октября 2026 года: PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Если ваш сайт работает на PHP, обновите его сегодня. Сайтов на EmDash эта история не касается, потому что PHP в них нет.
Ниже разбираю, что случилось, что сделать с PHP-сайтом прямо сейчас и стоит ли из-за этого менять CMS.
Что случилось
Обе ошибки нашли исследователи из Calif и Wiz ещё в августе и сообщили о них разработчикам PHP. Раскрытие готовили к 21 октября, но 20 октября подробности утекли в сеть. Утром 21 октября Cloudflare сообщила о первых попытках атак, а в 14:00 по UTC вышли исправления.
Обе уязвимости получили 9,2 балла из 10 по CVSS. Ошибки сидят в PHP, начиная с версии 5.4, то есть почти во всём, что сейчас работает в интернете. Wiz оценивает долю затронутых веб-ресурсов в 70%. BI.ZONE насчитала в Рунете около 50 000 потенциально уязвимых PHP-приложений.
Важная деталь: проблема не в WordPress, Битриксе или каком-то плагине. Она в интерпретаторе, который исполняет код любого PHP-движка. Защита на уровне приложения не помогает: по данным Datadog, вредоносный запрос PHP разбирает раньше, чем до него доходит код сайта. Одна из уязвимостей вдобавок может выдавать кусок памяти сервера через cookie PHPSESSID, даже если сайт сессии не использует.
Почему отключали сайты
Реакция была непривычно резкой. Финляндия, Нидерланды, Франция, Германия и Бельгия превентивно отключили часть государственных сайтов. Wikimedia приостановила часть систем Википедии. Премьер-министр Японии призвал владельцев сайтов срочно обновиться, а тех, кто не может, отключить ресурсы.
При этом Sansec считает массовые атаки менее вероятными, чем казалось в первый день. Публичные эксплойты не работают на установках PHP по умолчанию. Большинству из них нужна ещё одна ошибка в самом сайте, например возможность подключить произвольный файл. Откладывать обновление из-за этого всё равно не стоит.
Что сделать с PHP-сайтом сегодня
Если сайт работает на WordPress, Битриксе, Joomla, OpenCart или другом PHP-движке, переезд подождёт. Сначала закройте дыру:
- Обновите PHP до 8.5.12, 8.4.27, 8.3.36 или 8.2.35. Это единственное полное исправление, из кода сайта его не сделать. Для 7.4, 8.0 и 8.1 команда PHP выпустила только патчи к исходникам, готовые пакеты собирают дистрибутивы и панели вроде Plesk.
- На виртуальном хостинге напишите в поддержку и спросите, обновили ли они PHP. Интерпретатор на общем сервере ставит хостинг, вы сами его не обновите.
- Если обновиться прямо сейчас нельзя, отключите
session.upload_progress.enabledи временно заблокируйте запросыmultipart/form-dataна веб-сервере. Второе сломает загрузку файлов и часть форм, поэтому после обновления правило надо снять. - Проверьте, что обновление применилось. Версию PHP покажет страница
phpinfo()или командаphp -vна сервере. Перезапустите PHP-FPM или Apache, иначе старый процесс продолжит работать.
Почему EmDash это не затронуло
EmDash написан на TypeScript и работает на Node.js или Cloudflare Workers. PHP в нём нет вообще, поэтому PHP2Shell к нему не относится: обновлять нечего, отключать сайт не нужно. Сам emdashcms.ru работает на EmDash на российском VPS с Node.js, и 21 октября мне не пришлось делать ничего.
Неуязвимым EmDash я при этом не называю. Уязвимости бывают в любом стеке, и у Node.js тоже. Разница в том, как устроены типичные сайты:
- Меньше того, что нужно патчить. На Cloudflare Workers своего сервера нет совсем, среду исполнения обновляет Cloudflare. На своём VPS вы обновляете один Node.js, а не PHP с десятком расширений.
- Плагины не получают весь сервер. В WordPress любой плагин может читать базу и файлы целиком. В EmDash плагин заранее объявляет, какие права ему нужны.
- Нет файлов, которые можно подключить. Многим эксплойтам PHP2Shell нужна дополнительная ошибка вроде подключения произвольного файла. Сайт на EmDash не исполняет файлы с диска по запросу, как это делает PHP.
Если хотите проверить это на практике, начните с установки EmDash на свой VPS без Cloudflare: там весь путь от пустого сервера до работающего сайта.
Стоит ли переезжать
Одна уязвимость, даже такая громкая, не повод в панике переносить сайт. Но это хороший момент честно посчитать, сколько раз в год вам приходится срочно обновлять PHP, ядро CMS и плагины, и кто это делает.
Переезд имеет смысл, если сайт служит витриной компании, блогом или лендингом, а обновления WordPress уже утомили. Если у вас интернет-магазин с десятком интеграций, торопиться не стоит: часть плагинов WordPress в EmDash пока не заменить. Подробно плюсы и минусы я разобрал в статье EmDash или WordPress. Перенести сайт без своих разработчиков поможет миграция под ключ.
Частые вопросы
Мой сайт на WordPress уязвим?
Уязвим не WordPress, а PHP, на котором он работает. Если версия PHP на сервере ниже 8.5.12, 8.4.27, 8.3.36 или 8.2.35 и пакет не пропатчен дистрибутивом, сайт под угрозой. Обновление плагинов WordPress тут не поможет: нужно обновить сам PHP или попросить об этом хостинг.
Как узнать, обновил ли хостинг PHP?
Спросите поддержку напрямую и попросите назвать точную версию. Можно проверить и самому: временно разместите файл с вызовом phpinfo() и посмотрите номер версии, затем сразу удалите файл. Если хостинг собирает PHP сам, номер может отличаться, тогда уточните у него, включены ли патчи от 21 октября.
Нужно ли отключать сайт, пока PHP не обновлён?
Sansec считает, что отключать сайт не обязательно: публичные эксплойты не работают на установках по умолчанию. Если обновиться быстро нельзя, временно отключите session.upload_progress.enabled и заблокируйте запросы multipart/form-data. Госсайты в Европе отключали превентивно, потому что им цена ошибки выше.
Затрагивает ли PHP2Shell сайты на EmDash?
Нет. EmDash написан на TypeScript и работает на Node.js или Cloudflare Workers, PHP в нём не используется. Уязвимости PHP2Shell находятся в интерпретаторе PHP, поэтому к сайтам на EmDash не относятся. Это не значит, что EmDash неуязвим в принципе: Node.js тоже нужно обновлять.
Источники: CISA, Sansec, Datadog Security Labs, Qualys, CNews, Хабр.
