Cloudflare внедрила защиту от уязвимости php2shell
- С 3:02 UTC 21 октября Cloudflare автоматически включила защиту от php2shell для клиентов с WAF, включая бесплатный тариф.
- Уязвимости CVE-2026-109618 и CVE-2026-109619 затрагивают PHP 5.4 и новее и могут привести к сбою, утечке данных или удалённому выполнению кода.
- Новый механизм WAF анализирует запрос и ответ одной HTTP-транзакции; администраторам всё равно необходимо обновить PHP.
Почему это важно: PHP используется почти на 70% веб-сайтов, поэтому уязвимости могут затронуть множество приложений в Интернете.

Сегодня Calif.io, Wiz, OpenAI и Quarkslab сообщили о двухуязвимостях в PHP, зарегистрированных под номерами CVE-2026–109618 и CVE-2026–109619 и известных как php2shell. Уязвимости затрагивают все веб-серверы под управлением PHP 5.4 и более поздних версий. Они могут позволить злоумышленнику вызвать отказ в обслуживании, выполнить код удалённо и получить доступ к данным, если приложение обрабатывает специально сформированный HTTP-трафик.
Cloudflare участвовала в скоординированных действиях по развёртыванию мер защиты Интернета, сотрудничая, среди прочих, с PHP Foundation, OpenAI и Wiz. С начала октября 2026 года Cloudflare разрабатывала и внедряла средства защиты веб-приложений (WAF), которые были развёрнуты примерно за 9 часов до публичного раскрытия информации. С 3:02 UTC 21 октября клиенты Cloudflare, использующие наш бесплатный или платный WAF, по умолчанию были защищены от php2shell.
Cloudflare успешно внедрила несколько мер защиты для всех своих клиентов после утечки информации об уязвимости до официальной даты публикации; мы также обнаружили атаки, нацеленные на наших клиентов. Мы следили за тем, как злоумышленники изменяли вредоносную нагрузку, пытаясь обойти наши средства защиты, отслеживая количество срабатываний и сопоставляя его с логикой правил.
Для защиты от php2shell потребовалось нечто большее, чем стандартные правила, основанные на запросах. Одних данных запроса не всегда достаточно, чтобы отличить эксплойт от легитимного трафика. Ответ исходного сервера даёт дополнительный контекст и помогает определить, увенчалась ли атака успехом, снижая при этом риск ложных срабатываний.
Для обеспечения этой защиты мы разработали механизм выявления по полной транзакции — новую возможность WAF Cloudflare, которая объединяет сигналы из запроса и ответа в рамках одной HTTP-транзакции. Затем правила для ответов могут блокировать подходящий ответ исходного сервера, не позволяя ему достичь запрашивающей стороны. Меры защиты от php2shell — первые управляемые правила выявления угроз, выпущенные нами с использованием этой возможности.
Клиентам следует установить исправления в своих PHP-репозиториях, даже несмотря на то, что защита WAF обеспечивает дополнительный уровень многоуровневой защиты. Наши аналитики по безопасности продолжают следить за активностью злоумышленников и обновлять правила, если в ближайшие часы и дни появятся новые методы и варианты атак. Следить за новыми правилами можно в журнале изменений.
Защита доступна и автоматически включена во всех тарифных планах с развёрнутым WAF, в том числе для пользователей бесплатного плана.
Что известно об уязвимостях
PHP используется почти на 70% веб-сайтов. Уязвимости php2shell затрагивают саму среду выполнения PHP и могут позволить злоумышленникам выполнять вредоносный код на уязвимых серверах, раскрывать данные клиентов или нарушать работу сервисов. Поскольку PHP лежит в основе широко используемых платформ, таких как WordPress и Magento, эти уязвимости потенциально могут затронуть множество приложений в Интернете.
Обе уязвимости связаны с тем, как PHP управляет памятью, когда при обработке HTTP-запроса что-то идёт не так. Обычно PHP выделяет память для хранения данных, необходимых для обработки запроса, а затем освобождает её по завершении работы. Если обработка неожиданно прерывается, например из-за нехватки памяти, PHP не очищает память безопасным образом. Уязвимости возникают, когда PHP обрабатывает ошибку, а затем пытается использовать данные, которые не были полностью подготовлены, или уже освобождённую память.
Злоумышленник может отправить специально сформированные HTTP-запросы, чтобы вызвать такие ситуации. Большие запросы — один из способов создать нагрузку на память, но проблема не сводится к исчерпанию ресурсов сервера. Манипулируя данными, которые PHP встречает в этой недействительной области памяти, злоумышленник может вызвать сбой процесса PHP, раскрыть конфиденциальную информацию или выполнить предоставленный им код.
Уязвимости различаются моментом, когда происходит небезопасное обращение к памяти:
Уязвимость | В чём заключается проблема |
CVE-2026–109618 | В PHP заканчивается память, и обработка прерывается до того, как некоторые внутренние данные будут должным образом инициализированы. При очистке данных этого запроса PHP может использовать эти незавершённые данные так, как если бы они были корректными. |
CVE-2026–109619 | Критическая ошибка прерывает обработку запроса, и PHP сохраняет ссылки на память, которая освобождается по завершении запроса. При обработке следующего запроса тем же процессом PHP может обратиться по этим устаревшим ссылкам к уже недействительной памяти и раскрыть конфиденциальные данные. |
Эти уязвимости связаны со средой выполнения PHP, поэтому обновление кода сайта или одного либо нескольких плагинов не устранит их. Администраторам необходимо обновить PHP, на котором работают их приложения. Если PHP обслуживает хостинг-провайдер, попросите его установить обновление безопасности.
Администраторы могут ознакомиться с рекомендациями PHP, чтобы узнать, какие версии затронуты, и получить инструкции по устранению уязвимостей. Во время установки исправлений оставьте защиту Cloudflare WAF включённой. Ограничение ненужной загрузки файлов и размера загружаемых файлов также может снизить риск, но эти меры не заменяют исправление PHP.
Новые правила
Для клиентов бесплатного плана новые правила выпущены в составе набора правил Cloudflare Managed Free Ruleset (идентификатор набора правил 77454fe2d30c4220b5701f6fdfb893ba). Клиентам бесплатного плана не нужно ничего делать, чтобы включить защиту. Инструкции по изменению поведения набора правил см. в нашей документации.
Описание правила | Идентификатор правила |
Общие правила — аномальное выполнение — 1 | 4e315666e8e344cdb64119a3b5ccf32f |
Общие правила — аномальное выполнение — 2 | 00c10e6cc4da4bd08722adeebcd95984 |
Общие правила — аномальное выполнение — 3 | 48ddf592361e4fdb97a8a85982dab691 |
Общие правила — аномальное выполнение — 4 | 3556683d512a47f2937899c524b1a4c6 |
Общие правила — аномальное выполнение — 5 | da07c85852e34625bb478496302ede46 |
Общие правила — аномальное выполнение — 6 | 19373a83abb840e18ab3ce5a7975ce1b |
Общие правила — аномальное выполнение — 7 | 07f0b6ddaabf40b1b2042dade8d613fa |
Защита для платных тарифных планов выпущена в составе набора правил Cloudflare Managed Ruleset (идентификатор набора правил efb7b8c949ac4650a09736fc376e9aee). Если вы пользуетесь тарифным планом Professional, Business или Enterprise, проверьте настройки развёртывания набора Managed Ruleset и убедитесь, что он развёрнут в режиме блокировки.
Описание правила | Идентификатор правила |
Общие правила — аномальное выполнение — 1 | c1d409ad838f47f59446f21cc438d5dd |
Общие правила — аномальное выполнение — 2 | f9a45927414245e3a64bb12d0a0c2f64 |
Общие правила — аномальное выполнение — 3 | 771c654ae1154d4daa72f4e1545d163c |
Общие правила — аномальное выполнение — 4 | 217005865f0145f392300bac212afcc9 |
Общие правила — аномальное выполнение — 5 | 38efdb17ea594501bb55a1d71867b12e |
Общие правила — аномальное выполнение — 6 | 4148ae686fdb4d01be673fab9d9c073d |
Общие правила — аномальное выполнение — 7 | 1389aa259617437392ce149c48143645 |
Чтобы точнее выявлять попытки эксплуатации уязвимостей, Cloudflare разработала механизм выявления по полной транзакции — новую возможность WAF, анализирующую обе стороны одной HTTP-транзакции. Некоторые вредоносные нагрузки можно обнаружить только по запросу, однако ответ содержит полезные сигналы, позволяющие создавать более надёжные правила и снижать число ложных срабатываний. Правило для полной транзакции может блокировать соответствующий ответ исходного сервера, прежде чем он достигнет запрашивающей стороны. В ближайшие несколько часов мы опубликуем статью о выявлении по полной транзакции.
Следующие правила развёрнуты в новом наборе Cloudflare Managed Response Firewall Default для клиентов всех тарифных планов, включая бесплатный:
Описание правила | Идентификатор правила |
Блокировка по умолчанию для сигнатур с высокой степенью достоверности | afffe22785674c80a31875c848d2242a |
Примечание: описания правил будут обновлены в ближайшее время.
Просмотр событий и настройка защиты
Чтобы проанализировать заблокированные запросы, откройте раздел Безопасность > Аналитика безопасности > События. Отфильтруйте данные по идентификаторам правил из таблицы выше и проверьте совпавший запрос, действие и путь. В событиях указано, какое правило вызвало действие — управляемое или пользовательское. Клиенты, которым нужно настроить защиту, могут изменить область действия набора Managed Ruleset, ограничив его теми частями приложения, где он необходим.
Обновите PHP и не отключайте защиту
Клиенты Cloudflare, использующие наш набор Managed Ruleset, защищены по умолчанию. Мы рекомендуем следовать рекомендациям и как можно скорее установить обновление поставщика для PHP в своих репозиториях, оставив защиту WAF включённой в качестве дополнительной меры. Наши аналитики WAF продолжат обновлять средства защиты по мере появления новых методов атак.
