Уязвимость PHP 2026: что нужно знать владельцу сайта
Что такое уязвимость php2shell
php2shell — неофициальное название двух критических уязвимостей в ядре PHP: CVE-2026-109618 и CVE-2026-109619.
Разработчики PHP закрыли их 21 октября 2026 года и оценили обе в 9,2 балла из 10 по шкале опасности.
Уязвимости позволяют злоумышленнику удалённо выполнить свой код на сервере. Логин, пароль или доступ к админке для этого не нужны.
На практике это значит, что через уязвимый сайт можно:
- получить доступ к базе данных;
- прочитать пароли, токены и ключи API из памяти сервера;
- изменить содержимое страниц;
- разместить вредоносный код;
- перенаправлять посетителей на сторонние ресурсы;
- использовать сервер как точку входа в другие системы компании.
Ошибки находятся не в CMS и не в коде конкретного сайта, а в самом PHP. Поэтому под угрозой оказываются проекты на любых платформах.
Главное, что нужно знать владельцу: защиту даёт только обновление PHP до исправленной версии.
Зачем разбираться в этом, если сайт ведёт подрядчик или хостинг?
Потому что ответственность за данные клиентов и работу сайта остаётся на компании.
Подрядчик может не отслеживать новости безопасности. Хостинг может обновить PHP не для всех версий. Старый тестовый сайт на том же сервере могут просто забыть.
Сама атака выглядит так:
запрос к сайту → обработка в PHP → выполнение чужого кода → доступ к серверу и данным.
Последствия для бизнеса могут быть разными:
- утечка персональных данных клиентов;
- штрафы за нарушение требований к защите персональных данных;
- простой сайта и потеря заявок;
- предупреждения браузеров и поисковых систем об опасном сайте;
- ущерб репутации.
Владельцу не нужно разбираться в технических деталях. Достаточно понимать риск и проконтролировать, что обновление действительно выполнено.
Зачем владельцу сайта знать об уязвимости PHP
Зачем разбираться в этом, если сайт ведёт подрядчик или хостинг?
Потому что ответственность за данные клиентов и работу сайта остаётся на компании.
Подрядчик может не отслеживать новости безопасности. Хостинг может обновить PHP не для всех версий. Старый тестовый сайт на том же сервере могут просто забыть.
Сама атака выглядит так:
запрос к сайту → обработка в PHP → выполнение чужого кода → доступ к серверу и данным.
Последствия для бизнеса могут быть разными:
- утечка персональных данных клиентов;
- штрафы за нарушение требований к защите персональных данных;
- простой сайта и потеря заявок;
- предупреждения браузеров и поисковых систем об опасном сайте;
- ущерб репутации.
Владельцу не нужно разбираться в технических деталях. Достаточно понимать риск и проконтролировать, что обновление действительно выполнено.
Критическая уязвимость PHP 2026: что важно в первую очередь
Вокруг уязвимости много технических подробностей, но владельцу компании необязательно изучать каждую.
Основное собрано в таблице.
|
Вопрос |
Что известно |
Что это значит для вас |
|---|---|---|
|
Что затронуто |
Ядро PHP, все способы его запуска на сервере |
Под угрозой любые сайты на PHP |
|
Насколько опасно |
9,2 балла из 10 |
Нужна срочная реакция |
|
Нужен ли пароль для атаки |
Нет |
Защита админки не помогает |
|
Есть ли исправление |
Да, с 21 октября 2026 |
Нужно обновить PHP |
|
Безопасные версии |
8.2.35, 8.3.36, 8.4.27, 8.5.12 |
Сверить с версией на сайте |
|
Старые версии (8.1 и ниже) |
Официальных исправлений нет |
Нужна сборка от поставщика или переход |
|
Есть ли примеры атак |
Да, появились после утечки |
Откладывать обновление нельзя |
Этого достаточно, чтобы поставить задачу специалисту и проконтролировать результат.
Как развивались события
Обе уязвимости нашли независимые исследователи безопасности во время аудита PHP летом 2026 года.
11 августа разработчики получили первое сообщение о возможности удалённого выполнения кода.
Исправление готовили в закрытом режиме, чтобы хостинги и поставщики сборок успели подготовить обновления.
20 октября номера уязвимостей появились на форумах и в соцсетях раньше официального объявления.
В ответ разработчики PHP досрочно опубликовали предупреждение и перенесли выпуск исправлений с 22 на 21 октября.
21 октября в 17:00 по Москве вышли исправленные версии PHP.
После утечки в сети начали появляться примеры атак. Европейская служба реагирования CERT-EU отмечает, что это повышает вероятность реальных атак на сайты.
Поэтому обновление стоит рассматривать как срочную задачу, а не как плановую работу.
Какие сайты под угрозой
Под угрозой любой ресурс, который обрабатывает веб-запросы на уязвимой версии PHP.
Например:
- сайты и интернет-магазины на WordPress, 1С-Битрикс, Joomla, Drupal, Magento, OpenCart, MODX;
- веб-приложения на Laravel, Symfony, Yii и собственных разработках;
- личные кабинеты, клиентские порталы, CRM и API на PHP;
- тестовые копии, старые лендинги и забытые проекты на том же сервере.
Размер сайта значения не имеет. Исследователи показали успешную атаку даже на простейшую страницу «Hello World».
Уязвимы все распространённые способы запуска PHP: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed.
Самый высокий риск у серверов Apache с mod_php. Там атака срабатывает ещё до того, как начнёт работать код сайта.
Если сайт на виртуальном хостинге, PHP обычно обновляет провайдер. Но проверить это всё равно нужно.
Безопасные версии PHP
Исправления выпущены для четырёх поддерживаемых веток PHP.
Если версия на сайте ниже указанной в правой колонке, сайт уязвим.
|
Ветка PHP |
Уязвимые версии |
Безопасная версия |
|---|---|---|
|
PHP 8.5 |
8.5.11 и ниже |
8.5.12 и выше |
|
PHP 8.4 |
8.4.26 и ниже |
8.4.27 и выше |
|
PHP 8.3 |
8.3.35 и ниже |
8.3.36 и выше |
|
PHP 8.2 |
8.2.34 и ниже |
8.2.35 и выше |
|
PHP 8.1, 8.0, 7.x и старше |
все |
официальных исправлений нет |
Обновление внутри одной ветки, например с 8.3.30 до 8.3.36, обычно проходит без изменений в коде сайта.
Переход на другую ветку, например с 7.4 на 8.3, — это отдельная задача с проверкой совместимости.
Устаревшие версии PHP
PHP 8.1 и более ранние версии разработчики больше не поддерживают.
Официальных исправлений для них не будет.
При этом выход есть.
Некоторые хостинг-провайдеры, панели управления и дистрибутивы Linux выпускают собственные исправленные сборки старых версий. Например, Plesk выпустил обновлённые сборки PHP 8.1, 8.0 и 7.4 от 21 октября 2026 года.
Если такой сборки нет, остаётся переход на PHP 8.2 или новее.
Перед переходом специалист проверяет:
- поддерживает ли новую версию PHP ваша CMS;
- совместимы ли модули и плагины;
- работают ли собственные доработки;
- не сломаются ли интеграции с 1С, CRM, платёжными системами.
На время перехода возможны временные меры защиты. Они снижают риск, но не заменяют обновление.
Работать на неподдерживаемой версии опасно и в будущем: новые уязвимости для неё тоже не будут исправлять.
Как узнать версию PHP на сайте
Проверить версию можно за несколько минут без технических знаний.
Основные способы:
- панель управления хостингом — в ISPmanager, cPanel, Plesk и панелях большинства хостингов версия указана в настройках сайта;
- админка WordPress — «Инструменты» → «Здоровье сайта» → «Информация» → «Сервер»;
- админка 1С-Битрикс — раздел с системной информацией или проверкой системы;
- поддержка хостинга или разработчик — самый надёжный вариант.
Есть важный нюанс.
Некоторые дистрибутивы Linux встраивают исправления в старую версию без смены её номера.
Поэтому номер версии в панели не всегда даёт точный ответ. Окончательно подтвердить защиту должен специалист, который проверит конкретную сборку на сервере.
Обновление PHP: порядок действий
Самостоятельно обновлять PHP владельцу не нужно. Его задача — запустить процесс и проконтролировать результат.
Рациональный порядок:
- Составить список всех ресурсов: сайты, лендинги, личные кабинеты, тестовые копии, старые проекты.
- Передать задачу специалисту: разработчику, системному администратору, подрядчику или в поддержку хостинга.
- Сделать свежую резервную копию файлов и базы данных.
- Установить исправленную версию PHP или сборку от поставщика.
- Проверить работу сайта: ключевые страницы, формы, корзину, личный кабинет, интеграции.
- Проверить журналы сервера и файлы сайта на признаки взлома.
- При подозрениях сменить пароли администраторов, доступы к базе данных и ключи API.
Задачу специалисту можно поставить так:
Прошу срочно проверить версию PHP на всех наших сайтах в связи с уязвимостями CVE-2026-109618 и CVE-2026-109619. Нужно обновить PHP до 8.2.35, 8.3.36, 8.4.27 или 8.5.12 либо установить исправленную сборку от поставщика, предварительно сделав резервную копию. После обновления прошу проверить работу сайтов и журналы на признаки взлома.
Как понять, что сайт уже атаковали
Примеры атак появились до выхода исправления. Поэтому после обновления стоит убедиться, что сайт не взломали раньше.
Явных признаков может не быть. Насторожить должны:
- незнакомые файлы в папках сайта;
- новые пользователи или администраторы в CMS;
- перенаправления посетителей на сторонние сайты;
- посторонние ссылки или блоки на страницах;
- резкий рост нагрузки на сервер;
- предупреждения в Яндекс Вебмастере, Google Search Console или браузерах;
- жалобы клиентов на спам от имени компании.
Отсутствие этих признаков не гарантирует, что сайт чист.
Точный ответ даёт только проверка журналов сервера и файлов сайта.
Что проверять после обновления
Обновление — не разовое действие. Сайт стоит контролировать и после него.
Практический ориентир:
|
Когда |
Что проверить |
|---|---|
|
Сразу после обновления |
Версию PHP, работу ключевых страниц, форм и корзины |
|
В тот же день |
Журналы сервера и файлы сайта на признаки взлома |
|
В течение недели |
Ошибки на сайте, нагрузку на сервер, уведомления поисковых систем |
|
При признаках взлома |
Пароли администраторов, доступы к базе, ключи API |
|
Раз в месяц |
Выход новых исправлений PHP и CMS |
|
Перед окончанием поддержки версии |
План перехода на актуальную ветку PHP |
Такой контроль обходится дешевле, чем восстановление сайта после взлома.
Обновление PHP и обновление CMS
Эти обновления не заменяют друг друга.
PHP — это среда, в которой работает сайт:
сервер → PHP → CMS → модули и плагины → страницы сайта.
Обновление CMS закрывает ошибки в коде WordPress, Битрикса или другой платформы. Обновление PHP закрывает ошибки в самой среде.
Например, компания недавно обновила CMS и все плагины. Это хорошая практика, но от php2shell она не защищает: уязвимость находится уровнем ниже.
И наоборот: обновлённый PHP не закроет уязвимость в устаревшем плагине.
Для безопасности сайта нужно следить за обоими уровнями.
Почему одного обновления недостаточно
Обновление закрывает уязвимость на будущее.
Но оно не устраняет последствия, если сайт успели атаковать до установки исправления.
Вредоносный файл, загруженный раньше, останется на сервере и после обновления PHP. Похищенный пароль по-прежнему будет действовать.
Поэтому при проверке безопасности данные о версии PHP сопоставляют с:
- журналами веб-сервера;
- изменёнными за последнее время файлами;
- списком пользователей и администраторов;
- запланированными задачами на сервере;
- исходящими соединениями;
- состоянием других сайтов на том же сервере.
Так можно отличить чистый сайт от сайта, где проблема просто ещё не проявилась.
При сомнениях разумнее заказать [аудит безопасности сайта], чем ждать явных признаков взлома.
Частые ошибки
Считать, что маленький сайт никому не нужен
Атаки на такие уязвимости автоматизированы. Программы перебирают все сайты подряд, не выбирая цели.
Полагаться на обновление CMS
Уязвимость находится в PHP, а не в WordPress или Битриксе. Обновление CMS её не закрывает.
Не проверять тестовые и старые сайты
Забытый проект на том же сервере может стать точкой входа для атаки на основной сайт.
Обновлять без резервной копии
Обновление внутри ветки обычно проходит спокойно. Но без резервной копии любая непредвиденная ошибка превращается в простой.
Доверять только номеру версии
Исправление может быть встроено в сборку без смены номера, и наоборот. Подтверждение должен дать специалист.
Считать обновление концом работы
Если сайт атаковали раньше, обновление не удалит вредоносный код и не отменит утечку паролей.
Итог
Уязвимость php2shell — одна из самых серьёзных проблем PHP за последние годы.
Она затрагивает сайты на любых платформах и позволяет взломать их без пароля.
Владельцу компании не нужно разбираться в технических деталях. Достаточно проверить версию PHP на всех ресурсах, поставить задачу специалисту и убедиться, что обновление выполнено.
Если сайт работает на устаревшей версии PHP, есть признаки взлома или ситуация остаётся непонятной после базовой проверки, следующий шаг — комплексная проверка безопасности, а не ожидание.
Расскажите
Обсудить проект
вашем проекте
- Что такое уязвимость php2shell
- Зачем владельцу сайта знать об уязвимости PHP
- Критическая уязвимость PHP 2026: что важно в первую очередь
- Как развивались события
- Какие сайты под угрозой
- Безопасные версии PHP
- Устаревшие версии PHP
- Как узнать версию PHP на сайте
- Обновление PHP: порядок действий
- Как понять, что сайт уже атаковали
- Что проверять после обновления
- Обновление PHP и обновление CMS
- Почему одного обновления недостаточно
- Частые ошибки
- Итог