Темы



Cloudflare внедрила защиту от уязвимости php2shell

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

Почему это важно: PHP используется почти на 70% веб-сайтов, поэтому уязвимости могут затронуть множество приложений в Интернете.

01M5FBPSP6GA0RRJ5FDQ68S476.png

Сегодня 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 продолжат обновлять средства защиты по мере появления новых методов атак.

© Cloudflare Blog