Две уязвимости в PHP заставили государственные учреждения и крупные интернет-сервисы временно закрывать сайты по всему миру. Ошибки позволяли злоумышленникам захватывать серверы без пароля. Разработчики выпустили исправления, но миллионы сайтов оставались под угрозой.
Голландские власти закрыли сайты парламента, порталы MijnOverheid.nl и DigiD, ресурсы нескольких ведомств. Портал Роттердама, несколько больниц и политические партии страны также отключили свои сервисы. Национальный центр кибербезопасности NCSC закрыл собственный сайт, чтобы исключить его компрометацию.
Финляндия приостановила часть государственных сервисов через оператора Valtori. Французское МВД распорядилось временно закрыть административные сайты местных властей. Датская компания Kombit отключила государственные платформы, включая школьные коммуникационные системы. Всё это — превентивные меры, не связанные с подтверждёнными взломами.
Фонд Wikimedia приостановил вспомогательные сервисы: Toolforge, Cloud VPS, Phabricator и инструменты разработки. Основные проекты старались сохранить доступными. На 4chan временно отключили публикацию сообщений и авторизацию. DeviantArt перевёл сайт в режим обслуживания.
За происходящим стояли две уязвимости — CVE-2026-109618 и CVE-2026-109619 с оценкой 9,2 балла по шкале CVSS. Исследователи объединили их под названием PHP2Shell. Успешная атака позволяла удалённо выполнять произвольные команды с правами серверного процесса, читать конфиденциальную информацию и развивать проникновение.
PHP обслуживает около трёх четвертей сайтов, для которых удаётся определить серверную технологию. На нём работают WordPress, Drupal, Joomla, Magento и другие системы управления содержимым. Ошибки находились в самом PHP-интерпретаторе, а не в отдельных приложениях. Даже правильно написанный код становился уязвимым.
Первая проблема возникала из-за неправильной обработки нехватки памяти. Специально сформированный HTTP-запрос вызывал ошибку, когда внутренние структуры PHP ещё не готовы к безопасному завершению. Программа обращалась к некорректным данным и передавала управление злоумышленнику. Для атаки не требовалось искать ошибку в самом сайте.
Вторая уязвимость связана с повторным обращением к освобождённой памяти. После завершения одного запроса PHP при определённых обстоятельствах сохранял ссылки на устаревшие данные, а при обработке следующего воспользовался ими снова. Исследователи показали, что подобные ошибки позволяют выполнять команды и извлекать пароли, токены доступа и чувствительные сведения.
Наиболее опасным разработчики PHP считают работу с модулем mod_php для Apache. Исследователи создали рабочий эксплойт, запускающий посторонний код ещё до выполнения PHP-приложения. Под угрозой находились конфигурации PHP-FPM, php-cgi, FrankenPHP и LiteSpeed, хотя применимость способов эксплуатации зависела от настроек сервера.
Специалисты Wiz Research воспроизвели атаки на тестовых WordPress, Drupal и Joomla. Им удалось добиться удалённого выполнения кода без авторизации и продемонстрировать чтение памяти серверного процесса. Некоторые уязвимые участки кода существовали больше десяти лет, но создание надёжного способа эксплуатации требовало сложной последовательности действий.
Исправления вышли 21 октября 2026 года в версиях PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Уязвимыми признаны более ранние выпуски, начиная с PHP 5.4. Ветки PHP 8.1 и старше не получают обновлений непосредственно от проекта. Отдельные поставщики Linux выпустили собственные исправленные пакеты, например разработчики Ubuntu.
До установки исправлений администраторы могли ограничить доступ к уязвимым серверам, отключить ненужную обработку загрузок и усилить фильтрацию HTTP-запросов. PHP опубликовал дополнительные параметры конфигурации, снижающие риск отдельных сценариев эксплуатации. Однако полностью закрыть обе уязвимости настройками не удалось. Обновление серверной среды осталось единственным полноценным способом устранить проблему.
Cloudflare предупредила о появлении первых попыток атак и начала корректировать правила защиты веб-приложений. Подозрительные запросы не доказывают успешный взлом. Подтверждений массовой компрометации сайтов не было. Владельцам ресурсов на WordPress и других PHP-платформах требовалось проверять версию PHP на сервере, так как обычное обновление CMS или плагинов не устраняло ошибки в интерпретаторе.
Информация о проблемах преждевременно появилась в открытом доступе 20 октября, хотя раскрытие планировали на 22 октября. Команда PHP перенесла выпуск исправлений на 21 октября. Операторы серверов начали устанавливать патчи и постепенно возвращать отключённые сервисы.
Wiz Research обнаружила первые уязвимости 19 августа 2026 года с использованием инструментов Wiz Atlas и моделей Gemini 4 Argon и GPT-5.6 Sol. В течение следующих дней исследователи добились выполнения кода на Drupal и WordPress, 24 августа передав информацию разработчикам PHP. К поиску проблем подключились специалисты других компаний.
Главная опасность PHP2Shell заключалась в том, что ошибки затронули базовый компонент огромного количества сайтов, а не конкретную CMS. Сложность эксплуатации раньше ограничивала угрозу, но современные инструменты анализа кода помогают быстрее находить дефекты и строить рабочие атаки. Переписывать приложения на другом языке не требовалось. Для устранения уязвимостей достаточно было установить исправленную версию PHP или соответствующее обновление поставщика.
