PHP2Shell: почему весь интернет экстренно патчит серверы и что делать бизнесу
Уязвимость PHP2Shell и кибербезопасность веб-серверов

Если последние сутки в ваших чатах с сисадминами или разработчиками стоит подозрительная тишина или, наоборот, судорожно мелькают команды перезапуска воркеров — причина одна. Случился PHP2Shell.
21 октября сообщество безопасности накрыло событием масштаба Heartbleed и Log4Shell. В ядре PHP вскрылись две критические уязвимости (CVE-2026-109618 и CVE-2026-109619) с оценкой опасности 9.2 из 10, а некоторые ИБ-команды вроде watchTowr без колебаний влепили им максимальные 10 из 10.
Масштаб проблемы в том, что PHP исторически обслуживает под 70% всего веба: от WordPress и 1С-Битрикс до самописных ERP-систем и внутренних API. Из-за риска удаленного захвата серверов правительственные порталы Финляндии, Нидерландов, часть сервисов Викимедиа и сотни интернет-магазинов в Европе и Азии просто временно выключили рубильник и ушли в офлайн, пока не накатят обновления.
Разберем спокойно: что конкретно сломалось, почему уязвимость дремала больше десяти лет и что делать прямо сейчас.
В чем суть бага (простыми словами)
В основе проблемы лежит архитектурный атавизм, тянущийся еще со времен PHP 5.4.
Когда сервер обрабатывает тяжелый HTTP-запрос и у него внезапно заканчивается выделенная оперативная память (Out of Memory), интерпретатор экстренно обрывает выполнение через аварийный механизм longjmp().
В этот момент происходит сбой:
- Часть внутренних структур памяти остается недоинициализированной, но система очистки ошибочно считает эти «хвосты» валидными.
- Возникает классическая ошибка повреждения памяти (Use-After-Free / неинициализированный указатель).
- Злоумышленник формирует специальный запрос без всякой авторизации. Сервер «давится» нехваткой памяти, освобождает ячейку, а следующий запрос падает в тот же рабочий процесс (воркер) и записывает в освободившуюся память произвольные команды.
Итог: удаленное выполнение произвольного кода (Remote Code Execution, RCE). Атакующему не нужно знать пароль от админки, логин от SSH или базу данных. Достаточно просто отправить специфически упакованный HTTP-запрос снаружи.
Самое ироничное в этой истории — баг не новый. Ошибку очистки памяти замечали во время аудита ядра еще в 2024 году, но тогда посчитали чисто теоретической: мол, «эксплойт под такое на практике собрать невозможно». Но в 2026 году исследователи из Calif и Wiz с помощью ИИ-моделей доказали, что рабочий боевой эксплойт собирается вполне стабильно.
Кто под ударом
Под угрозой практически любая связка: PHP-FPM, Apache mod_php, php-cgi, LiteSpeed.
Главный водораздел сейчас проходит по версиям:
- Если у вас поддерживаемые ветки (PHP 8.2, 8.3, 8.4, 8.5): Разработчики языка сработали оперативно и выпустили экстренные патчи: 8.2.35, 8.3.36, 8.4.27, 8.5.12. Здесь рецепт один: зайти на сервер и обновить пакеты через пакетный менеджер системы. Это вопрос 10–15 минут.
- Если у вас легаси (PHP 7.4, 8.0, 8.1 или не дай бог 5.x): Вот здесь начинается настоящая головная боль. Официальный срок поддержки (EOL) этих версий давно истек. Для них выложили исходный код патчей, но готовых официальных бинарных сборок нет. А в рунете на старых версиях PHP до сих пор крутятся десятки тысяч интернет-магазинов, корпоративных порталов и учетных систем, которые владельцы боялись трогать годами по принципу «работает — не лезь».
Чек-лист: что делать бизнесу прямо сегодня
Не нужно впадать в панику, но оставить ситуацию на самотек — верный способ через пару дней обнаружить на сервере чужой майнер или зашифрованную базу клиентов.
1. Узнайте точную версию PHP на каждом сервере
Задайте разработчикам или сисадмину один конкретный вопрос: «Какая версия PHP установлена на проде и накатили ли мы патчи от 21 октября?». Если ответ «мы на 8.3/8.4 и уже обновились» — выдыхайте.
2. Если у вас старая версия, которую нельзя обновить за час
Быстро переписать сайт с PHP 7.4 на 8.3 невозможно — отвалятся старые плагины, модули оплаты и самописные скрипты. Если вы оказались в этой ловушке, действуйте по плану изоляции:
- Подключите WAF (Web Application Firewall): Cloudflare и ряд других сервисов уже выкатили превентивные правила фильтрации подозрительных запросов, эксплуатирующих этот сбой. Это не панацея, но временный щит.
- Закройте прямой доступ к админкам и служебным порталам: если это внутренняя CRM, личный кабинет сотрудников или ERP — уберите сайт из открытого интернета. Настройте доступ только через VPN или по белому списку IP-адресов.
- Ограничьте права пользователя web-сервера: убедитесь, что процесс www-data / php-fpm физически не имеет доступа к системным директориям и файлам конфигурации.
Наконец-то признать цену «чужого» фундамента
Ситуация с PHP2Shell — это не просто рядовой баг, который закроют и забудут. Это суровая демонстрация того, на чем годами держалась иллюзия «дешевой» разработки.
Когда сайт собирается на типовом движке, конструкторе или тяжелой CMS, бизнес попадает в фундаментальную зависимость. Вы не контролируете чужой код ядра, вы не можете убрать лишние системные библиотеки, а каждый тяжелый плагин висит на сервере миной замедленного действия. Когда в такой экосистеме гремит критическая уязвимость, предприниматель остается один на один с выбором: либо платить за экстренное латание дыр, либо выключать сайт и терять продажи.
Именно поэтому мы в AtlantSoftware принципиально не строим клиентские проекты на готовых коробках.
В чем разница нашего подхода:
- Чистая и предсказуемая архитектура. Мы разрабатываем сервисы на Python/Django и современных реактивных фронтенд-фреймворках (Vue, React). Здесь нет десятков гигабайт чужого непроверенного кода, устаревших модулей десятилетней давности или случайных скриптов от неизвестных разработчиков.
- Изоляция и контроль данных. База данных и логика бэкенда проектируются строго под задачи вашего бизнеса. Никаких скрытых воркеров и открытых дверей: сервер выполняет только то, что в него заложено вашим техническим заданием.
- Независимость. Ваш цифровой продукт принадлежит только вам, разворачивается в закрытом и контролируемом контуре и не зависит от внезапных глобальных сбоев сторонних CMS-платформ.
Если вы хотите запустить проект, который не придется судорожно пересобирать и спасать при каждом очередном кризисе в чужом коде — выбирайте честную заказную разработку.
Похожие статьи

Когда шаблон перестает быть дешевым: честный разговор о пределе коробочных решений

Разработка бота для Telegram под заказ

Разработка Чат-ботов под ключ