21 октября 2026 года команда PHP выпустила исправления двух критических уязвимостей, CVE-2026-109618 и CVE-2026-109619. Вместе их называют PHP2Shell. Атакующему не нужны ни логин, ни пароль. Достаточно одного специально составленного запроса к вашему сайту, чтобы запустить на сервере свой код и забрать сайт себе. Через несколько часов после выхода исправлений компания watchTowr сообщила о попытках эксплуатации обеих уязвимостей, а Cloudflare написала, что видит первые атаки.
Если ваш сайт, интернет-магазин или админка работают на PHP, обновлённая версия PHP нужна серверу сегодня.
Что произошло
20 октября команда PHP объявила о критическом релизе, а 21 октября в 14:00 UTC опубликовала исправленные версии 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Сама команда PHP оценивает уязвимости в 9,2 из 10 по CVSS v4.0, это критический уровень. Одна связана с тем, как PHP ведёт себя при нехватке памяти. Вторая позволяет данным одного запроса попасть в следующий запрос, который обрабатывает тот же процесс на сервере.
Под удар попадают все способы запуска PHP на веб-сервере: PHP-FPM, Apache с mod_php, php-cgi, LiteSpeed и FrankenPHP. Самым опасным команда PHP считает Apache с mod_php. В её бюллетене описан показанный на практике эксплойт: один запрос без авторизации запускает атаку ещё до того, как выполнится код сайта.
На вечер 21 октября ни одна компания по безопасности не сообщила о подтверждённом взломе. При этом код, который якобы эксплуатирует эти уязвимости, уже ходит по сети, и массовые атаки могут начаться в любой момент.
Касается ли это вас?
Пройдитесь по пунктам. Хватит одного «да».
- Сайт работает на WordPress, WooCommerce, Laravel, OpenCart, Битрикс, Drupal, Magento или другой системе на PHP.
- У компании есть админка, личный кабинет клиента или API на PHP. Бэкенд мобильного приложения тоже считается.
- Хостинг или разработчик не подтвердили вам, что PHP на сервере уже обновлён.
- На сервере стоит панель управления хостингом вроде aaPanel. Некоторые панели в день релиза обновлённый PHP не выпустили.
- У вас PHP 8.1 или более старая версия.
Если ответов вы не знаете, это уже повод спросить сегодня.
Что атакующий может сделать с вашим сайтом
Выполнение кода на сервере даёт атакующему тот же доступ, что есть у самого сайта. На практике это значит:
- полный контроль над сайтом: правка страниц, новые учётные записи администраторов, перенаправление посетителей;
- доступ к базе данных: имена клиентов, почта, адреса, заказы;
- вредоносный код или спам-страницы на вашем сайте;
- предупреждение Google в поиске и в браузере, после которого трафик и продажи стоят, пока сайт не вычистят.
Чистка взломанного сайта может занять дни, а иногда сайт приходится собирать заново. Обновление занимает часы.
Что сделать сегодня
1. Узнайте версию PHP. Её показывает панель управления хостингом, обычно в разделе «Версия PHP» или «Настройки PHP». В WordPress откройте «Инструменты → Здоровье сайта → Информация → Сервер». На Ubuntu после обновления безопасности номер может остаться старым, например 8.3.6: Ubuntu исправляет пакет, а номер версии не меняет. Поэтому хостингу или разработчику нужно проверить версию пакета.
2. Попросите хостинг или разработчика обновить PHP. Это письмо можно отправить без правок:
Здравствуйте. 21 октября 2026 года вышли исправления PHP для критических уязвимостей CVE-2026-109618 и CVE-2026-109619 (PHP2Shell). Подтвердите, пожалуйста, что PHP на нашем сервере обновлён до исправленной версии (8.5.12, 8.4.27, 8.3.36, 8.2.35 или пакет дистрибутива с исправлением) и что PHP-FPM или Apache перезапущен. Если у нас PHP 8.1 или старее, сообщите, пожалуйста, как вы планируете закрыть уязвимость. И проверьте, пожалуйста, логи сервера на признаки эксплуатации начиная с 21 октября.
3. Если у вас PHP 8.1 или старее, запланируйте переход на поддерживаемую версию. Для 7.4, 8.0 и 8.1 команда PHP опубликовала исправления только в исходном коде. Значит, кому-то придётся собрать PHP из исходников с этими исправлениями или перевести сайт на более новую версию.
Если отключить session.upload_progress.enabled в настройках PHP, часть пути атаки закроется. Команда PHP прямо пишет, что безопасным сервер это не делает. Считайте это временной мерой до обновления.
Ваша версия и что делать
| Ваша версия PHP | Что делать |
|---|---|
| 8.5 | Обновить до 8.5.12 |
| 8.4 | Обновить до 8.4.27 |
| 8.3 | Обновить до 8.3.36 |
| 8.2 | Обновить до 8.2.35. Поддержка 8.2 заканчивается 31 декабря 2026 года, так что планируйте следующее обновление |
| 8.1, 8.0, 7.4 | Официального обновления нет. Собрать PHP с исправлениями из исходников или перейти на поддерживаемую версию |
| 7.3 и старее | Исправления от команды PHP нет. Перейти на поддерживаемую версию |
Ubuntu уже выпустила исправленные пакеты. Для других дистрибутивов Linux смотрите бюллетень безопасности своего поставщика.
Как мы закрыли это у наших клиентов

Команда PHP опубликовала исправления в 14:00 UTC. Наши инженеры взялись за работу примерно через час. Ещё через два часа, около 17:00 UTC, были закрыты все серверы, которые мы обслуживаем: 88 проектов на нашей поддержке.
На каждом сервере мы сначала отключали уязвимый механизм, потом ставили исправленный PHP. В панелях вроде aaPanel обновлённого PHP в день релиза не было, поэтому мы собирали PHP из исходников с исправлениями. Так же поступили с проектами на PHP 7.4, 8.0 и 8.1, которые команда PHP больше не обновляет. После обновления прошлись по логам серверов в поисках следов использования уязвимости. Не нашли.
Наш автоматический мониторинг работает круглосуточно, а инженеры реагируют, когда он фиксирует инцидент.
Как мы это делали, по шагам: как мы закрыли 88 PHP-проектов за три часа.
Не уверены, что ваш сайт защищён?
Проверим версию PHP и обновим её в течение одного рабочего дня. Если сайт работает на PHP 8.1 или старее, подскажем, что в вашем случае быстрее и дешевле: сборка с исправлениями или переход на новую версию.
Если после этого нужна постоянная поддержка, загляните на страницы поддержки сайтов и поддержки серверов. Для магазинов на WordPress и WooCommerce у нас есть отдельная страница. Если подозреваете, что кто-то успел зайти до обновления, или хотите знать, что ещё у вас открыто, на это ответит тест на проникновение.
FAQ
Нужно ли обновляться, если сайт на WordPress?
Да. WordPress работает на PHP, а уязвимость находится в самом PHP. Обновление WordPress и плагинов её не закрывает, серверу нужна исправленная версия PHP.
Хостинг обновит PHP сам?
Одни провайдеры обновляют, другие ждут, а на многих VPS и выделенных серверах PHP никто не тронет, пока вы не попросите. Попросите у провайдера письменное подтверждение с точной версией.
Сломается ли сайт после обновления?
Обновление внутри одной ветки, например с 8.3.x до 8.3.36, содержит только исправления безопасности и ошибок и на сайт влияет редко. Переход с 7.4 или 8.1 на более новую ветку может сломать старые плагины или код, поэтому такой переход сначала нужно протестировать.
Достаточно ли отключить session.upload_progress?
Нет. Это закрывает часть одного из путей атаки. Команда PHP пишет, что проблему решает только обновление.
Источники
- Объявление команды PHP: https://www.php.net/archive/2026.php
- Бюллетени безопасности: https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w и https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
- Ubuntu: https://ubuntu.com/blog/php2shell-vulnerability-fixes-available
- Попытки атак и сообщения о коде эксплойтов: https://www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote