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

Новость — в изменениях правил, а не в новом запуске соревнования
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 прямо отсылает к рекомендациям разработчиков затронутого продукта и установке исправлений, не объявляя фильтрацию заменой обновления.
| Запись | Что подтверждено источником |
|---|---|
| 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 разделены. Переносить доказанную для одной конфигурации воспроизводимость на все варианты сервера без проверки было бы неточно.


