21 октября команда PHP выпустила внеплановые обновления и закрыла две критические уязвимости. Их назвали PHP2Shell. Суть простая и неприятная: злоумышленник может выполнить свой код на сервере сайта, не зная ни логина, ни пароля. А это значит — получить доступ к базе заявок и клиентов, подменить страницы или разместить на сайте вирус.
PHP — язык, на котором работают 1С-Битрикс, WordPress, Joomla, OpenCart и огромное количество самописных сайтов. Поэтому новость касается большинства коммерческих сайтов в рунете.
Что известно
- Две уязвимости: CVE-2026-109618 и CVE-2026-109619. Обе получили оценку 9,2 из 10 по шкале критичности CVSS.
- Авторизация не нужна. Атака идёт обычными запросами к сайту из интернета.
- Под угрозой почти все версии PHP, включая очень старые. Исправления вышли для веток 8.2, 8.3, 8.4 и 8.5.
- Для PHP 8.1 и старше, включая PHP 7, исправлений не будет: эти версии больше не поддерживаются.
- Особенно уязвимы серверы с Apache и mod_php — там атака срабатывает ещё до того, как запрос дойдёт до кода сайта. Конфигурации с PHP-FPM тоже уязвимы.
- На момент публикации CISA не зафиксировало реальных атак. Но технические подробности уже опубликованы, и обычно после этого атаки начинаются в течение нескольких дней.
Источники: PHP Foundation, CISA, технический разбор на Хабре.
Безопасные версии 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 или новее.
Всё, что ниже, — уязвимо. PHP 7.x, 8.0 и 8.1 уязвимы без возможности обновить версию внутри ветки.
Касается ли это вашего сайта
Скорее всего да, если сайт работает на: 1С-Битрикс, WordPress, Joomla, Drupal, OpenCart, MODX, Laravel или любом самописном движке на PHP.
Скорее всего нет, если сайт:
- сделан на Tilda, Wix или другом конструкторе — платформа обновляет серверы сама;
- написан на Python (Django, FastAPI), Node.js (Next.js) или Go и на сервере нет PHP.
Осторожно с последним пунктом: на сервере может стоять что-то на PHP помимо самого сайта — например, phpMyAdmin для работы с базой данных или старая версия сайта в соседней папке. Это тоже точка входа.
Как узнать версию PHP за пять минут
- WordPress: «Инструменты» → «Здоровье сайта» → «Информация» → «Сервер».
- 1С-Битрикс: «Настройки» → «Инструменты» → «Проверка системы».
- Виртуальный хостинг: версия PHP обычно видна в панели управления хостингом, в настройках сайта.
- Свой сервер (VPS): попросите разработчика или администратора проверить. Важно: на одном сервере бывает несколько версий PHP, и проверять нужно ту, которая обслуживает сайт, а не просто первую попавшуюся.
Что делать
Если сайт на виртуальном хостинге
Обновление PHP — задача хостинга. Напишите в поддержку, чтобы узнать сроки. Можно отправить такой текст:
Здравствуйте! Мой сайт [адрес] работает на PHP [версия]. 21 октября вышли исправления критических уязвимостей CVE-2026-109618 и CVE-2026-109619 (PHP2Shell). Подскажите, когда на сервере будут установлены PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 и нужно ли мне что-то сделать со своей стороны?
Если в панели можно выбрать версию PHP сами — после обновления хостингом переключитесь на исправленную версию из той же ветки.
Если сайт на своём сервере
Разработчик или администратор должен:
- найти все установленные версии PHP на сервере;
- обновить их до исправленных версий;
- перезапустить PHP и веб-сервер — без перезапуска продолжит работать старый уязвимый код;
- если сайт работает в Docker — пересобрать образы, а не просто перезапустить контейнеры.
Нюанс: Ubuntu, Debian и другие дистрибутивы часто переносят исправления в старую версию, не меняя её номер. Поэтому «по номеру версии вроде уязвим» не всегда означает, что сервер не обновлён, — администратор проверяет это по истории изменений пакета.
Если сайт на PHP 7 или 8.0–8.1
Это самый неприятный случай. Исправлений для этих версий не будет, а временные настройки сервера лишь снижают риск, но не убирают его. Выход — перевести сайт на PHP 8.2 или новее.
Это не всегда «переключить версию в панели»: старые модули Битрикса, плагины WordPress и самописный код могут сломаться. Правильный порядок такой:
- сделать полную резервную копию сайта и базы данных;
- развернуть копию сайта на новой версии PHP;
- проверить ключевые сценарии: формы заявок, каталог, корзину, оплату, личный кабинет, админку;
- исправить то, что сломалось;
- переключить основной сайт и после переключения ещё раз пройти по формам и оплате.
Пока переезд не завершён, администратор может временно ужесточить настройки сервера. Но это мера на несколько дней, а не решение.
Почему это важно не только технически
Взлом сайта — это не только испорченные страницы. Если у сайта есть формы, в его базе хранятся имена и телефоны клиентов. Утечка персональных данных грозит оборотными штрафами: от 3 млн рублей и выше в зависимости от числа пострадавших, а за повторную утечку — до 3% годовой выручки. О самой утечке нужно уведомить Роскомнадзор в течение 24 часов.
Обновить PHP в разы дешевле, чем разбираться с последствиями.
Коротко
- Две критические уязвимости в PHP позволяют взломать сайт без логина и пароля.
- Под угрозой сайты на Битриксе, WordPress и любых PHP-движках.
- Безопасные версии: 8.2.35, 8.3.36, 8.4.27, 8.5.12 и новее.
- На хостинге — напишите в поддержку, на своём сервере — обновите PHP и перезапустите его.
- PHP 7.x, 8.0 и 8.1 исправлений не получат — планируйте переезд на 8.2+.
Не уверены, на какой версии PHP работает ваш сайт? Пришлите адрес — бесплатно проверим, затронут ли он, и скажем, что делать. Если сайт на старом PHP, перенесём его на актуальную версию с резервной копией и проверкой всех форм и оплаты.



