Технологии

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

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

Если у вас есть деньги на хорошего специалиста по безопасности, то скорее всего вы уже работаете со мной … закройте эту статью или посмотрите как вы можете к своему сайту подключить настоящего ИИ-маскота. Если денег нет, то читайте ниже.

Если коротко, то в PHP обнаружены критические уязвимости. Они получили оценку 9,2 из 10 по шкале CVSS 4.0, что соответствует критическому уровню опасности. При определённых условиях они могут позволить злоумышленникам выполнять команды на сервере без предварительной авторизации. Об угрозе сообщило агентство Reuters 21 октября. По его данным, проблема затронула инфраструктуру в нескольких европейских странах, а некоторые организации предпочли временно отключить свои сайты, чтобы снизить риск возможных кибератак.

Проблема получила название PHP2Shell и связана с уязвимостями CVE-2026-109618 и CVE-2026-109619, которые могут позволить злоумышленникам выполнять код на сервере без авторизации. В свою очередь Cloudflare развернул дополнительные защитные правила. Однако не все владельцы сайтов могут немедленно обновить серверное программное обеспечение.

В такой ситуации важно не ограничиваться одной настройкой, а последовательно усилить защиту на уровне PHP, хостинга и Cloudflare.

1. В первую очередь обновите PHP

Самый надёжный способ устранить проблему, установить исправленную версию PHP. По официальному сообщению разработчиков, исправления выпущены для следующих веток:

  • PHP 8.5.12;
  • PHP 8.4.27;
  • PHP 8.3.36;
  • PHP 8.2.35.

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

Проверить актуальные рекомендации можно на официальном сайте PHP.

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

Важно: обновление WordPress, его темы и плагинов само по себе не устраняет уязвимости PHP. Исправление должно быть установлено именно в серверном окружении.

2. Если обновить PHP пока невозможно

Не все владельцы сайтов имеют возможность самостоятельно менять серверные настройки. На обычном виртуальном хостинге версия PHP и параметры её работы могут контролироваться провайдером.

В этом случае необходимо как можно скорее обратиться в службу поддержки и уточнить:

  • какая версия PHP используется для сайта;
  • установлены ли исправления CVE-2026-109618 и CVE-2026-109619;
  • доступна ли исправленная сборка для текущего тарифа;
  • какие временные меры защиты можно применить до обновления.

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

Для администраторов серверов разработчики PHP также описали временные меры, снижающие риск отдельных сценариев эксплуатации. Среди них ограничение размеров HTTP-запросов и загрузок, отключение механизма session.upload_progress и некоторые дополнительные настройки обработки ошибок.

Эти параметры требуют осторожности. Например, изменение memory_limit или ограничений загрузки может повлиять на работу сайта. Их следует применять с учётом официальных рекомендаций PHP и конфигурации сервера.

Ни одна из перечисленных мер не обеспечивает полноценного устранения уязвимостей. Полные рекомендации опубликованы на php.net.

3. Проверьте защиту Cloudflare

Cloudflare сообщил, что развернул специальные правила межсетевого экрана веб-приложений (WAF) для защиты от PHP2Shell. По заявлению компании, защита стала доступна клиентам с активным WAF, включая бесплатный тариф, до публичного раскрытия информации об уязвимостях.

Это означает, что владельцам сайтов, использующим Cloudflare, стоит прежде всего проверить действующие настройки, а не создавать случайные правила самостоятельно.

Рекомендуется выполнить следующие действия:

Шаг 1. Убедитесь, что сайт проксируется через Cloudflare.

В разделе DNS проверьте записи домена и поддомена www. Для веб-записей, которые должны проходить через Cloudflare, должно быть включено проксирование, обозначаемое оранжевым облаком.

Это помогает направлять соответствующий HTTP- и HTTPS-трафик через защитную инфраструктуру Cloudflare. Однако необходимо отдельно убедиться, что прямой доступ к серверу не позволяет обойти эту защиту.

Шаг 2. Проверьте правила WAF.

Откройте панель Cloudflare, выберите домен и перейдите в раздел Security, затем Security rules или Managed rules.

Проверьте, что доступный набор управляемых правил Cloudflare включён. Для бесплатного тарифа компания сообщила о добавлении правил в Cloudflare Managed Free Ruleset.

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

Шаг 3. Следите за событиями безопасности.

В разделе Security Events или Security Analytics проверяйте заблокированные запросы, срабатывания WAF и необычную активность.

При этом не следует считать каждое заблокированное обращение доказательством успешной атаки. Журналы помогают выявлять подозрительные запросы, но сами по себе не подтверждают, что сервер был взломан.

Подробнее о защитных мерах можно прочитать в официальном сообщении Cloudflare о PHP2Shell.

4. Ограничьте возможность обхода Cloudflare

Даже если сайт использует Cloudflare, сервер может оставаться доступным напрямую по IP-адресу. В таком случае запросы могут обходить WAF и другие правила, настроенные в Cloudflare.

Если хостинг позволяет управлять доступом к серверу, стоит ограничить входящие HTTP- и HTTPS-соединения так, чтобы к веб-серверу могли обращаться только разрешённые источники, включая актуальные диапазоны IP-адресов Cloudflare.

Перед изменением правил необходимо проверить конфигурацию сервера и другие используемые сервисы. Ошибка может сделать сайт недоступным или нарушить работу почты и других служб.

На виртуальном хостинге такую настройку обычно нужно согласовать с провайдером.

5. Проверьте SSL/TLS

В панели Cloudflare откройте раздел SSL/TLS и проверьте режим шифрования соединения между посетителем, Cloudflare и исходным сервером.

Если на сервере установлен действительный сертификат, поддерживающий проверку подлинности, рекомендуется использовать режим Full (strict).

Этот режим защищает соединение между Cloudflare и сервером от ряда рисков, связанных с неправильной настройкой шифрования и проверкой сертификата. Однако он не устраняет уязвимости PHP и не заменяет обновление программного обеспечения.

Не переключайте режим наугад: сначала убедитесь, что сертификат на сервере настроен правильно.

6. Проверьте загрузку файлов и автоматические запросы

Уязвимости могут эксплуатироваться через специально сформированные HTTP-запросы. Поэтому имеет смысл проверить, какие типы данных и файлы сайт принимает от посетителей.

Если загрузка файлов не нужна, её можно отключить. Если нужна, стоит ограничить допустимые типы файлов и размеры загрузок, а также проверить серверные лимиты размера запросов.

Ограничения необходимо применять с учётом функциональности сайта. Слишком строгие правила могут нарушить отправку комментариев, работу форм, загрузку изображений и обмен данными с мобильными приложениями.

Не следует блокировать все POST-запросы или запрещать загрузку файлов целиком без предварительной проверки. Это не универсальное решение проблемы.

7. Проверьте, не было ли попыток взлома

Установка исправления закрывает известные уязвимости, но не гарантирует, что сервер не был скомпрометирован раньше.

После обновления PHP администраторам следует проверить журналы веб-сервера и PHP, необычные изменения файлов, новые учётные записи, подозрительные процессы и неожиданные исходящие соединения.

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

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

8. Что делать владельцам сайтов прямо сейчас

Чтобы не упустить основные действия, используйте следующий список:

  • Проверить версию PHP на сервере.
  • Установить исправление или получить подтверждение от хостинга, что оно уже установлено.
  • Если исправление недоступно, согласовать временные меры защиты и план обновления.
  • Убедиться, что Cloudflare проксирует веб-трафик сайта.
  • Проверить, что управляемые правила WAF активны.
  • Проверить SSL/TLS и возможность обхода Cloudflare через прямой доступ к серверу.
  • Пересмотреть ограничения загрузки файлов и размеров запросов.
  • Проверить журналы на предмет подозрительной активности.

Главное

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

Cloudflare может снизить риск эксплуатации уязвимостей благодаря WAF, но не заменяет исправление самого PHP. Если хостинг пока не предлагает исправленную версию, следует обратиться к провайдеру, уточнить возможность установки патчей и использовать временные меры, рекомендованные разработчиками.

Приоритет номер один: исправленный PHP. Приоритет номер два: действующие правила Cloudflare и ограничение ненужного доступа к серверу. Именно сочетание этих мер позволяет существенно снизить риск, пока владелец сайта и хостинг устраняют проблему.

Комментарии0

Введите код

Код отправлен на . Если письма нет несколько минут — проверьте «Спам» и «Промоакции».

Хочу такую систему комментариев себе на сайт

Читайте также

Новости

Критическая уязвимость PHP: в Европе отключают сайты, пока разработчики устраняют угрозу

В Европе временно отключают государственные сайты, ресурсы больниц и других организаций из-за критических уязвимостей в PHP, одном из самых распространённых…

Читать
Мнение

Нейросети сократили IT-рынок на 36%, но я не переживаю за работу. Почему ставка на внедрение ИИ и безопасность веб-проектов оправдала себя

Эпоха массового дефицита кадров в IT сменилась профицитом соискателей. Активное использование больших языковых моделей и автоматизация написания базового кода кардинально…

Читать

Есть идея для проекта?

Расскажите, что вы хотите создать. Я помогу придумать и запустить.

Написать мне