Попытки атак через уязвимости PHP2Shell за считаные часы выросли до миллионов. Cloudflare обнаружила подозрительный трафик ещё до официального раскрытия ошибок, а Amazon нашла следы эксплуатации за четыре дня до выхода исправлений. Масштаб угрозы оказался серьёзнее первоначальных оценок.
Глава Cloudflare Мэтью Принс раскрыл динамику атак на инфраструктуру компании. За десять часов до публичного объявления о проблемах защитные системы зарегистрировали тысячи попыток эксплуатации. В первые 45 минут после раскрытия счёт пошёл на десятки тысяч, через два часа превысил сотни тысяч, а спустя ещё несколько часов достиг миллионов. Принс не уточнил окончательное количество запросов и число атакованных ресурсов.
Ещё более тревожные сведения представила Amazon Threat Intelligence. Специалисты компании обнаружили попытку эксплуатации PHP2Shell от 17 октября, за четыре дня до официальной публикации уязвимостей CVE-2026-109618 и CVE-2026-109619. Подозрительный запрос попал в систему ловушек MadPot и поступил с IP-адреса коммерческой сети анонимизации. Как отправитель узнал об ошибках до раскрытия, исследователи пока не установили.
Утром 21 октября активность заметно усилилась. Между 02:00 и 08:00 UTC сенсоры Amazon зарегистрировали новые попытки эксплуатации с нескольких адресов, связанных с инфраструктурой анонимизации. Злоумышленники применяли разные варианты вредоносных запросов, поэтому аналитики предполагают участие нескольких независимых групп. После выхода исправлений новые демонстрационные эксплойты появились в течение нескольких часов и практически сразу начали использоваться против ловушек Amazon.
Наблюдения Cloudflare и Amazon подтверждают массовые попытки эксплуатации PHP2Shell, но не позволяют определить количество успешных проникновений. Amazon прямо признаёт, что пока неизвестно, сработали бы обнаруженные атаки на реальных серверах. Показатели Cloudflare также отражают подозрительные запросы, а не миллионы захваченных сайтов. Достоверной публичной статистики компрометации серверов по-прежнему нет.
На фоне массовых атак разгорелся конфликт между разработчиками PHP и компанией Chainguard, которая занимается безопасностью программных компонентов. Фонд PHP обвинил Chainguard в нарушении согласованного срока раскрытия уязвимостей. По версии разработчиков, 21 октября в 07:41 UTC компания самостоятельно опубликовала готовые контейнерные образы PHP с исправлениями, более чем за шесть часов до официального релиза.
Chainguard заранее получила патчи вместе с другими поставщиками программного обеспечения, чтобы подготовить обновления для клиентов. Однако преждевременная публикация собранных образов позволяла изучить различия между уязвимой и исправленной версиями PHP. Разработчики опасались, что подобный анализ поможет восстановить механизм атаки, пока остальные администраторы ещё не получили обновления. Доказательств того, что именно действия Chainguard привели к новым взломам, пока нет.
Генеральный директор Chainguard Дэн Лоренц защитил решение выпустить исправления раньше срока. По его словам, другие участники координации уже наблюдали атаки в интернете, а сведения об уязвимостях распространялись публично. Лоренц утверждает, что предупредил координационную группу о своём решении и открыл доступ к исправленным образам всем желающим, а не только клиентам Chainguard. Руководитель также извинился перед сопровождающими PHP за дополнительное напряжение.
Разработчики PHP не согласились с таким объяснением. Нильс Адерманн, один из авторов заявления PHP Foundation, возразил Лоренцу, что участники закрытого обсуждения сообщали о зондировании серверов и попытках эксплуатации, но не предоставили подтверждений успешных взломов. По словам Адерманна, Chainguard приняла решение самостоятельно, хотя сроки раскрытия неоднократно обсуждали совместно. Таким образом, стороны расходятся не в хронологии публикации, а в оценке угрозы и допустимости нарушения эмбарго.
Согласованная публикация начала разваливаться ещё 20 октября. Около 15:00 UTC в социальных сетях появились идентификаторы двух уязвимостей с ошибочной оценкой опасности 10 баллов вместо фактических 9,2. Разработчики перенесли релиз с 22 на 21 октября. Позднее исследовательская компания Calif по ошибке выложила видеодемонстрацию эксплуатации, а копии удалённой записи быстро распространились в интернете. Фонд PHP считает, что видеозапись ускорила разработку новых прототипов атак.
Cloudflare готовилась к подобному сценарию заранее. Компания развернула защитные правила ещё 21 октября в 03:02 UTC для пользователей бесплатных и платных тарифов. При этом обычного анализа входящих запросов оказалось недостаточно. Специалисты добавили проверку ответов сервера в рамках одной HTTP-транзакции, чтобы точнее отличать эксплуатацию уязвимости от нормального трафика. По наблюдениям Cloudflare, атакующие меняли вредоносные запросы, пытаясь обойти фильтры.
Новый механизм дополнил возможности WAF, защитного экрана веб-приложений. Анализируя запрос вместе с ответом, система может обнаруживать подозрительное поведение и блокировать передачу результата атакующему. Однако блокировка ответа не гарантирует, что сервер уже не обработал опасный запрос. Поэтому даже расширенная фильтрация не устраняет сами ошибки PHP и не заменяет установку исправлений.
Новая статистика существенно меняет оценку сроков реагирования. Amazon рекомендует администраторам проверять журналы серверов начиная как минимум с 17 октября, а не только с момента официального раскрытия. Особое внимание специалисты советуют обращать на подозрительные POST-запросы, обращения к механизму PHP_SESSION_UPLOAD_PROGRESS, неожиданное выполнение системных команд и изменения файлов. Даже после установки патча сервер может оставаться скомпрометированным, если злоумышленник успел закрепиться в системе.
Для устранения CVE-2026-109618 и CVE-2026-109619 разработчики выпустили PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Старые ветки требуют обновлений от поставщиков операционных систем либо перехода на поддерживаемые версии. Отключение отдельных функций PHP и фильтрация загрузок могут уменьшить риск, но не закрывают обе уязвимости полностью. Владельцам сайтов необходимо проверить фактическую версию PHP на сервере и убедиться, что хостинг-провайдер установил исправления.
История PHP2Shell уже прошла несколько стадий. Сначала в интернете появились эксплойты ещё до официального выпуска исправлений, затем правительства и крупные сервисы начали отключать сайты в качестве меры предосторожности. В Японии банковская группа Mitsubishi UFJ Financial Group также временно приостановила часть интернет-сервисов, а власти страны призвали владельцев ресурсов срочно проверить используемые версии PHP.
Главный спор теперь касается самого порядка раскрытия критических ошибок. Chainguard считает, что признаки реальных атак позволяют нарушить согласованный срок ради немедленной защиты пользователей. Команда PHP предупреждает, что преждевременный выпуск исправлений даёт злоумышленникам техническую информацию, пока большинство организаций остаётся без патчей. Статистика Cloudflare и Amazon показывает, насколько узким стало временное окно между появлением сведений об уязвимости и началом массовых атак.