Перейти к содержимому
Диджитал-агентство «Приоритет»
Уязвимости PHP: что такое PHP2Shell и как защитить сайт

Уязвимости PHP: что такое PHP2Shell и как защитить сайт

Читать 12 мин. Автор: Александр Третьяк

Коротко: PHP2Shell — две критические уязвимости PHP (CVE-2026-109618 и CVE-2026-109619, 9,2 по CVSS 4.0): они позволяют выполнить код на сервере без пароля. Исправления вышли в PHP 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Что делать: узнать версию PHP, обновить её и проверить журналы с 17 октября 2026 года.

Данные о PHP2Shell актуальны на 27 октября 2026 года, расхождения источников указаны в тексте.

Схема: две критические уязвимости PHP2Shell с оценкой 9,2 по CVSS 4.0 — тема статьи об уязвимостях PHP
Две уязвимости PHP2Shell: оценка 9,2 из 10 по шкале CVSS 4.0

Что такое PHP2Shell и чем он опасен для бизнеса?

PHP2Shell — общее название двух уязвимостей в самом языке PHP: CVE-2026-109618 и CVE-2026-109619. Обе получили 9,2 из 10 по шкале CVSS 4.0 и уровень «критическая». По описанию разработчиков PHP, атака идёт по сети, не требует пароля и участия пользователя, а в случае успеха код выполняется на сервере с правами процесса веб-сервера.

Проблема не в вашем сайте и не в CMS, а в «движке», на котором они работают. Поэтому аккуратно написанный сайт сам по себе не защищает. По данным «Лаборатории Касперского», на PHP работает почти 70% веб-ресурсов, включая WordPress, Drupal и Joomla.

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

Когда начались атаки и что известно о масштабе?

Бюллетени безопасности PHP опубликованы 21 октября 2026 года, а в журнале изменений php.net исправленные версии датированы 22 октября. Но атаки начались раньше: по данным Amazon Threat Intelligence, которые приводит SecurityLab, первые попытки эксплуатации зафиксированы 17 октября — за четыре дня до исправлений. Это первая известная дата в их данных, не обязательно начало атак.

По данным Cloudflare, на которые ссылается «Лаборатория Касперского», к 22 октября счёт попыток взлома шёл на миллионы. Ряд организаций в разных странах временно отключал сайты до установки обновлений.

Хронология PHP2Shell: первые попытки атак 17 октября, выход исправлений 21–22 октября 2026 года
Хронология: от первых попыток атак до выхода исправлений

Каких версий PHP это касается?

Согласно бюллетеням php-src на GitHub, уязвимы версии ниже 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Для веток 8.1 и старше проект PHP исправлений не выпускает. «Лаборатория Касперского» сообщает, что для PHP 7.4, 8.0 и 8.1 разработчики подготовили минимальные бэкпорты исходного кода для самостоятельной сборки.

Какие версии PHP закрывают PHP2Shell

Ветка PHP Исправленная версия Поддержка безопасности до (php.net) Что делать
8.5 8.5.12 31 декабря 2029 Обновить до 8.5.12 или выше
8.4 8.4.27 31 декабря 2028 Обновить до 8.4.27 или выше
8.3 8.3.36 31 декабря 2027 Обновить до 8.3.36 или выше
8.2 8.2.35 31 декабря 2026 Обновить до 8.2.35 и запланировать переход на 8.3+
8.1 и старше официального исправления нет не поддерживаются Взять исправленный пакет у поставщика ОС или хостинга, собрать из бэкпортов либо перейти на поддерживаемую ветку
Таблица исправленных версий PHP 8.2–8.5 и ветки без официального исправления — защита сайта от PHP2Shell
Какие версии PHP закрывают PHP2Shell

По данным разработчиков PHP в пересказе «Лаборатории Касперского», под угрозой все непропатченные установки, обрабатывающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Бюллетени уточняют: полноценный взлом без пароля подтверждён на связке с Apache mod_php; для PHP-FPM, FrankenPHP и LiteSpeed анализ кода указывает на вероятную уязвимость, но для CVE-2026-109618 полного эксплойта под FPM пока не продемонстрировано. Для CVE-2026-109619 взлом через жизненный цикл сессий подтверждён и на mod_php, и на FPM.

Как проверить, затронут ли ваш сайт?

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

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

Как защитить сайт: пошаговый план

  • Обновите PHP до 8.5.12, 8.4.27, 8.3.36 или 8.2.35 (или выше). По бюллетеням PHP, обновление — единственная полная мера защиты.
  • Перезапустите PHP-FPM или веб-сервер, чтобы процессы загрузили новый код, и проверьте версию командой php -v.
  • Проверьте журналы с 17 октября 2026 года, а при наличии — с 17 сентября. Тревожные признаки: процесс веб-сервера запускает командные оболочки, curl или wget; необычные POST-запросы с multipart/form-data; ответы HTTP 500 с сообщениями PHP о нехватке памяти. Один такой запрос ещё не атака, но серия — повод для проверки.
  • Если обновиться сразу нельзя, примените временные меры из бюллетеней: отключите session.upload_progress (параметр session.upload_progress.enabled=0), ограничьте размер входящих запросов, а если сайт не использует multipart-формы — блокируйте такие запросы до PHP. Это снижает риск, но полностью не закрывает уязвимость. «Лаборатория Касперского» также советует временно ограничить доступ к уязвимому сервису из сети.
  • Подключите WAF — межсетевой экран веб-приложений. Он блокирует часть вредоносных запросов, пока администраторы ставят обновления.
  • Проверьте резервные копии: свежая копия, которую вы умеете восстановить, — страховка на случай взлома.

Чек-лист: что сделать с сайтом на PHP

Шаг Зачем Как проверить результат
Узнать версию PHP Понять, затронут ли сайт Версия названа хостингом или администратором письменно
Обновить PHP до исправленной версии Закрыть обе уязвимости: полностью это делает только обновление После перезапуска команда php -v показывает версию не ниже исправленной
Перезапустить PHP-FPM или веб-сервер Рабочие процессы загрузят новый код Версия проверена после перезапуска; для пакетов дистрибутива — по журналу изменений пакета
Просмотреть журналы с 17 октября 2026 года Найти следы атаки, которая могла начаться до обновления Нет запуска командных оболочек, curl и wget процессом веб-сервера; нет серий странных POST-запросов
Включить мониторинг и резервные копии Быстро заметить сбой и уметь восстановиться Свежая копия проверена на восстановление
Чек-лист из пяти шагов защиты сайта от уязвимостей PHP: версия, обновление, перезапуск, журналы, мониторинг
Пять шагов защиты сайта после PHP2Shell

Достаточно ли просто обновить PHP?

Не всегда. Патч закрывает дыру, но не выгоняет того, кто уже проник. Эксперты Axxtel на SecurityLab напоминают: после взлома атакующий может закрепиться на сервере и использовать обычный HTTPS и права веб-сервера, часть его запросов будет выглядеть легитимно, а сайт продолжит работать. Поэтому после обновления важно искать неизвестные файлы, подозрительные процессы и необычные соединения.

Какие ещё уязвимости PHP стоит знать владельцу сайта?

PHP2Shell — не единственная угроза. Как отмечает Хабр, сообщество в основном обсуждает классические проблемы: SQL-инъекции, XSS, CSRF и подключение посторонних файлов (LFI/RFI). Там же разобраны менее известные:

  • Небезопасная десериализация. Руководство PHP прямо предупреждает: не передавайте в unserialize() данные от пользователя, иначе возможно выполнение кода. Вместо этого используйте формат JSON.
  • Подмена путей через php://filter. Если сайт принимает имя файла от пользователя без проверки, злоумышленник может прочитать исходный код и конфиги. Защита — проверять путь и отключать allow_url_include.

Кто должен следить за безопасностью сайта: вы, штатный администратор или техподдержка?

У владельца бизнеса обычно три варианта. Сравним их по задачам, которые возникают при выходе такой уязвимости.

Кто закрывает уязвимость: владелец, штатный администратор или техподдержка

Что нужно Владелец сам Штатный администратор Техподдержка агентства
Узнать о новой уязвимости Только если следит за новостями безопасности Входит в его задачи Входит в сопровождение: проверка состояния CMS, модулей и PHP
Обновить PHP и проверить совместимость Нужны доступ к серверу и технические знания Делает, если есть доступ к серверу Обновление с проверкой совместимости и контролем результата
Проверить журналы на следы взлома Как правило, не по силам без специалиста Делает, если умеет читать журналы безопасности Диагностика после получения доступов
Резервные копии и восстановление Зависит от тарифа хостинга Настраивает и проверяет Настройка копирования и восстановление сайта в базовом тарифе
Стоимость Время владельца и риск Зарплата и налоги Тарифы «Приоритета» от 34 800 ₽ в месяц или 3 500 ₽ за час без абонентской платы; без хостинга и лицензий

Подробнее о том, что обычно входит в сопровождение, мы писали в статье «Что входит в поддержку сайта».

Как «Приоритет» помогает владельцам сайтов с такими ситуациями?

Если у вас нет своего администратора, вы можете передать сайт на техническую поддержку. Что входит в сопровождение по данным нашей страницы услуги:

  • проверка состояния CMS, модулей, PHP, резервных копий и критичных настроек окружения;
  • закрытие уязвимостей, удаление вредоносного кода и помощь в восстановлении сайта после взлома;
  • обновления с проверкой совместимости и контролем результата;
  • мониторинг работоспособности сайта 24/7, настройка резервного копирования и восстановление сайта, контроль продления домена, хостинга и SSL-сертификата;
  • персональный менеджер и прозрачный учёт часов по тарифу.

Тарифы: «Базовый» — 34 800 ₽ в месяц, «Бизнес» — 46 400 ₽ в месяц. Если задачи по сайту появляются время от времени, можно работать без абонентской платы — по часам: каждую задачу оцениваем заранее, час работы стоит 3 500 ₽. Стоимость указана без учёта хостинга, лицензий CMS и платных модулей. Если нужна разовая проверка без абонемента, закажите аудит сайта: в аудит безопасности входит проверка версий CMS, модулей и плагинов, HTTPS, доступов к админке и хостингу, резервного копирования, форм и загрузки файлов. Стоимость проверки безопасности считаем после первичной оценки сайта.

Мы работаем с проектами на 1С-Битрикс и других CMS; если сайт устарел и его проще пересобрать, обсудим разработку нового сайта, в том числе на готовом решении 1С-Битрикс. Важное ограничение: исправить проблему без доступа к проекту и диагностики мы не обещаем — сначала смотрим, что происходит на вашем сайте.

Хотите разобраться, в каком состоянии ваш сайт? Заполните бриф на техподдержку или позвоните нам: +7 (3452) 29-04-14 (пн–пт, 9:00–18:00).

Источники

Частые вопросы

Не нашли свой вопрос? Напишите нам — ответим и бесплатно проконсультируем по вашей задаче.

Задать вопрос
Что такое PHP2Shell простыми словами?
Это две критические уязвимости в самом языке PHP (CVE-2026-109618 и CVE-2026-109619). Через них злоумышленник без пароля может выполнить свой код на сервере, где работает сайт. Оценка опасности — 9,2 из 10 по шкале CVSS 4.0.
Затронут ли мой сайт на WordPress, Joomla или 1С-Битрикс?
Проблема в PHP, а не в CMS. Сайт на любой CMS уязвим, если на сервере работает версия PHP ниже исправленной: ниже 8.2.35, 8.3.36, 8.4.27 или 8.5.12 для своей ветки, либо ветка 8.1 и старше без бэкпорта.
Как узнать версию PHP на моём сайте?
Спросите у хостинг-провайдера или администратора сервера. На сервере версию показывает команда php -v. Если PHP установлен из пакетов дистрибутива, номер версии может остаться прежним после патча, поэтому сверяйтесь с журналом изменений пакета.
Достаточно ли обновить PHP, чтобы сайт был в безопасности?
Обновление закрывает обе уязвимости, но не выявляет тех, кто мог проникнуть до патча. Попытки эксплуатации фиксировались с 17 октября 2026 года, поэтому журналы нужно проверить с этой даты.
Что делать, если у меня PHP 7.4, 8.0 или 8.1?
Для веток 8.1 и старше проект PHP исправлений не выпускает. Уточните у поставщика ОС или хостинга, есть ли исправленный пакет, либо переходите на поддерживаемую ветку. Бэкпорты исходного кода для 7.4, 8.0 и 8.1 — вариант для специалиста.
Нужно ли отключать сайт из-за PHP2Shell?
Основная рекомендация разработчиков PHP и «Лаборатории Касперского» — обновиться. Если сделать это сразу невозможно, временно ограничьте доступ к уязвимому сервису и примените временные меры из бюллетеней PHP.
Сколько стоит техподдержка сайта в «Приоритете»?
Абонентские тарифы на странице услуги: «Базовый» — 34 800 ₽ в месяц, «Бизнес» — 46 400 ₽ в месяц. Без абонентской платы — по часам: 3 500 ₽ за час, каждую задачу оцениваем заранее. Цены указаны без учёта хостинга, лицензий CMS и платных модулей.
Все статьи

Что входит в поддержку сайта

За что платят каждый месяц: обновления CMS, резервные копии, безопасность, мониторинг, правки и базовое SEO. Чем поддержка отличается от доработки и какой формат выбрать.

Читать

Давайте делать крутые проекты вместе

Бесплатно разберём задачу, посчитаем сроки и бюджет. Без обязательств и навязчивых звонков.

+7 (3452) 29-04-14

Пн–Пт, с 9:00 до 18:00

Оставьте заявку

Ответим в рабочее время, обычно за 15 минут

Или напишите сразу