PHP2Shell: критическая уязвимость PHP угрожает сайтам на WordPress, Joomla и других CMS. Что делать владельцу бизнеса

PHP2Shell — критическая уязвимость PHP

PHP2Shell: критическая уязвимость PHP угрожает сайтам на WordPress, Joomla и других CMS. Что делать владельцу бизнеса

21 октября 2026 года разработчики PHP выпустили экстренное обновление, которое закрывает две критические «дыры» в самом языке. Через них злоумышленник может захватить сервер с сайтом — без логина, пароля и каких-либо действий с вашей стороны. Если ваш сайт сделан на WordPress, Joomla, Drupal, OpenCart, Magento, Laravel или любой другой PHP-платформе, этот текст касается вас.

Объясняем без технических дебрей: что произошло, чем это грозит бизнесу и что нужно сделать на этой неделе.

Что случилось

PHP — это язык, на котором работает большинство сайтов в интернете, в том числе почти все сайты малого и среднего бизнеса в Беларуси. Исследователи нашли в нём две уязвимости — CVE-2026-109618 и CVE-2026-109619. В сообществе их окрестили PHP2Shell: по названию видно, что ошибка позволяет «получить командную строку» чужого сервера.

Обычно такие находки держат в секрете, пока не выйдет исправление. Здесь так не получилось: 20 октября подробности утекли в сеть на пару дней раньше срока, а вместе с ними появился готовый инструмент для взлома. Команде PHP пришлось ускорить выпуск патча — он вышел 21 октября в 17:00 по Минску.

Насколько это серьёзно

  • Оценка опасности — 9,2 из 10 (по версии команды PHP), а американская база уязвимостей NVD поставила 9,8. Это высшая категория — «критическая».
  • Не нужен пароль. Атакующему достаточно отправить специально подготовленный запрос на ваш сайт — как будто кто-то заполнил форму.
  • Почти все версии. Под удар попадают PHP начиная с версии 5.4, выпущенной ещё в 2012 году, — то есть фактически любой сайт, который давно не обновляли.
  • Атаки уже идут. Компании, которые отслеживают киберугрозы, зафиксировали первые попытки взлома ещё до выхода исправления. Специалисты Sansec прогнозировали, что массовое сканирование сайтов начнётся буквально в течение пятнадцати минут после публикации патча.
  • Обойти «настройкой» нельзя. Ошибка сидит в самом ядре PHP, поэтому её не закрыть плагином безопасности или правкой кода сайта. Помогает только обновление PHP на сервере.

В продемонстрированном злоумышленниками видео атака срабатывала на WordPress, Joomla, Drupal, Magento, phpBB, MediaWiki, Laravel, Symfony и WHMCS — на них работают миллионы сайтов по всему миру.

Чем это грозит вашему бизнесу

Получив доступ к серверу, злоумышленник может делать с сайтом что угодно. На практике это выглядит так:

  • на сайте появляются скрытые ссылки на казино или фарму — и через пару недель он вылетает из выдачи Яндекса и Google;
  • браузеры начинают показывать посетителям красный экран «Сайт может быть опасен», и реклама, за которую вы платите, ведёт в тупик;
  • утекают заявки и персональные данные клиентов из форм и базы — а это уже вопрос ответственности перед законом о защите персональных данных;
  • сервер используется для рассылки спама или атак на другие сайты, и хостинг блокирует ваш аккаунт;
  • сайт просто удаляют или шифруют с требованием выкупа.

Самое неприятное — взлом часто незаметен неделями. Сайт открывается, заявки вроде бы приходят, а в это время на нём уже работает чужой код.

Какие версии PHP безопасны

Исправление выпущено для всех поддерживаемых веток PHP. Безопасными считаются версии не ниже указанных:

  • PHP 8.5 — безопасна версия 8.5.12 и выше;
  • PHP 8.4 — 8.4.27 и выше;
  • PHP 8.3 — 8.3.36 и выше;
  • PHP 8.2 — 8.2.35 и выше (поддержка ветки заканчивается 31.12.2026 — планируйте переход);
  • PHP 8.1, 8.0, 7.4 — официального релиза нет: только патч от хостинга/дистрибутива или переход на 8.3+;
  • PHP 7.3 и старше — исправления нет, нужно срочно переходить на актуальную версию.
Таблица безопасных версий PHP после исправления PHP2Shell

Важный нюанс: некоторые хостинги и дистрибутивы Linux встраивают исправление в старые версии, не меняя номер (например, PHP 8.1.34 может быть уже «залатан»). Поэтому номер версии — это ориентир, а точный ответ даст только ваш хостинг или администратор.

Как узнать, какой PHP на вашем сайте

Это займёт пару минут:

  1. WordPress: в админке откройте «Инструменты» → «Здоровье сайта» → вкладка «Информация» → раздел «Сервер». Там указана версия PHP.
  2. Панель хостинга (cPanel, ISPmanager, Plesk, hoster.by и др.): ищите раздел «Версия PHP» или «PHP Selector».
  3. Самый простой путь — написать в поддержку хостинга или своему подрядчику и задать один вопрос: «Установлено ли на нашем сервере исправление CVE-2026-109618 и CVE-2026-109619?»

Что сделать прямо сейчас

  1. Обновите PHP до одной из безопасных версий из таблицы выше. Это главное и единственное надёжное действие.
  2. Сделайте резервную копию сайта и базы данных перед обновлением — на старых сайтах смена версии PHP иногда «ломает» плагины или тему.
  3. Если сайт на PHP 8.1 и ниже — уточните у хостинга, есть ли для вашей версии заплатка, и запланируйте переход на PHP 8.3 или 8.4. Старые версии больше не получают исправлений, и следующая уязвимость закрыта уже не будет.
  4. Обновите CMS, плагины и тему. Свежий PHP часто требует свежих плагинов.
  5. Проверьте сайт на следы взлома, если до обновления он несколько дней работал на уязвимой версии: незнакомые файлы в папках сайта, новые администраторы в админке, подозрительные редиректы с мобильных.

Временные меры вроде отключения отдельных функций PHP на сервере эксперты рассматривали до выхода патча, но сами разработчики PHP подчёркивают: полноценной защиты без обновления нет.

Вывод для владельца бизнеса

Сайт — это не «сделали один раз и забыли». Это рабочий инструмент, который каждый день принимает заявки и деньги от рекламы. Как и автомобилю, ему нужно регулярное обслуживание: обновления, резервные копии, мониторинг. История с PHP2Shell — хорошая проверка: если вы сейчас не знаете, кто и когда обновит ваш сервер, значит, сайт остался без присмотра.

Команда Grondi ведёт техническую поддержку сайтов: следим за обновлениями, делаем резервные копии и оперативно восстанавливаем сайт при сбоях. Напишите нам — проверим, на какой версии PHP работает ваш сайт, и скажем, что нужно сделать. Если обновление «ломает» старые плагины, доработаем сайт под актуальную версию.

По материалам: «Лаборатория Касперского» (Securelist), команда PHP (php.net), Sansec, watchTowr, Help Net Security.