Перейти к содержанию
ERITKOM
БезопасностьНовость

Cloudflare обновила защиту PHP по результатам открытого CTF: что изменилось 30 октября

Участники разрешённого соревнования помогли уточнить правила WAF. Разбираем, чем проверка обхода отличается от исправления самого PHP и почему результат в песочнице ещё не равен принятому отчёту.

Официальный логотип PHP — языка, чья уязвимая установка используется в разрешённом CTF
Логотип PHP: Colin Viebrock, CC BY-SA 4.0, официальный источник. Изменены размер и формат; эти версии изображения распространяются под той же лицензией. Не изображение интерфейса Cloudflare.

Новость — в изменениях правил, а не в новом запуске соревнования

30 октября Cloudflare сообщила, что материалы участников PHP Capture the Flag помогли усилить существующие проверки php2shell и добавить обнаружение новых вариантов. Само соревнование началось 27 октября и, согласно обновлению, остаётся открытым. Это продолжение проверки уже развёрнутой защиты, а не сообщение о том, что исходная проблема впервые появилась в конце месяца.

В журнале изменений WAF за 30 октября отдельно подтверждены корректировки выражений для PHP out-of-memory уязвимостей CVE-2026-109618, CVE-2026-109619 и CVE-2026-115560. Источником итераций названы отчёты исследователей из CTF. Публикация не утверждает, что каждый возможный способ эксплуатации теперь перекрыт.

Что именно проверяет разрешённая песочница

В опубликованной конфигурации целью служит намеренно уязвимая установка PHP 8.5.11 с Apache 2 и стандартными расширениями. Перед ней включены штатные правила WAF. Такой стенд позволяет проверять границу между сетевым фильтром и исполнением программы на сервере, не превращая чужие рабочие сайты в площадку для экспериментов.

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

В одном журнале WAF описаны разные изменения

У даты 30 октября есть также отдельная чрезвычайная запись, посвящённая Nuxt Image и IPX. Для неё указаны частичное покрытие и выключенное по умолчанию правило. Эти условия нельзя автоматически переносить на соседнюю запись об обновлении PHP-проверок: дата совпадает, но объект защиты и описание выпуска различаются.

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

Два разных изменения WAF от 30 октября
ЗаписьЧто подтверждено источником
PHP OOM Уточнение выражений по материалам PHP CTF
Nuxt Image / IPX Новое правило с частичным покрытием, выключено по умолчанию

Источник: Cloudflare WAF changelog

Версия PHP в CTF выбрана намеренно

У PHP есть собственная история исправлений, независимая от конкурса и сетевых правил. В официальном ChangeLog версия 8.5.12 датирована 22 октября 2026 года. Среди изменений ядра отмечено предотвращение повреждения состояния при аварийном выходе, со ссылками на два security advisory. В той же версии перечислены самостоятельные исправления сборщика мусора, расширений и виртуальной машины.

Анонс PHP определяет 8.5.12 как security release и рекомендует пользователям ветки 8.5 обновиться. Поэтому упоминание 8.5.11 в описании стенда не является советом установить её на обычный сервер: уязвимость оставлена там специально ради контролируемого исследования. Дата релиза 22 октября также не становится датой нового выпуска PHP из-за обновления новости о WAF.

Почему нехватка памяти стала вопросом выполнения кода

В advisory PHP GHSA-w8hw-w9fx-j79w описана проблема аварийного завершения обработки при нехватке памяти. В некоторых состояниях память запроса уже доступна другим частям среды, но ещё не полностью инициализирована. Ранний выход может оставить это состояние некорректным; последующее завершение запроса обращается к нему. Поэтому речь идёт не просто о медленном ответе или превышении допустимого размера загрузки.

Исправление меняет механизм выхода из таких состояний, сохраняя возможность ограничивать расход памяти. В карточке отдельно перечислены исправленные ветки: 8.2.35, 8.3.36, 8.4.27 и 8.5.12. При этом сведения о проверенном воздействии mod_php и анализе других способов запуска PHP разделены. Переносить доказанную для одной конфигурации воспроизводимость на все варианты сервера без проверки было бы неточно.

Источники

Принципы журнала и исправления.

ERITKOM / НОВЫЙ ПРОЕКТ

Расскажите о задаче и оставьте контакты. Мы свяжемся с вами, чтобы обсудить проект.

  1. 01 Контакты
  2. 02 Ваша задача