- Две критические уязвимости удаленного выполнения кода (RCE), CVE-2026-109618 и CVE-2026-109619 (PHP2Shell), были добавлены CISA в каталог активно эксплуатируемых уязвимостей (KEV).
- Уязвимости позволяют неавторизованному злоумышленнику выполнять код на сервере с PHP через специально сформированный веб-запрос, затрагивая все версии PHP до 8.2.35, 8.3.36, 8.4.27 и 8.5.12.
- Федеральным агентствам США предписано устранить уязвимости до 29 октября, в то время как всем организациям, использующим PHP, настоятельно рекомендуется немедленно обновиться.
Агентство по кибербезопасности и защите инфраструктуры США (CISA) официально подтвердило активную эксплуатацию двух критических уязвимостей удаленного выполнения кода (RCE) в PHP, известных как PHP2Shell. Эти уязвимости, отслеживаемые как CVE-2026-109618 и CVE-2026-109619, были добавлены в каталог известных эксплуатируемых уязвимостей (KEV) CISA, что подчеркивает их серьезность и необходимость немедленных действий.
Критические уязвимости PHP2Shell: детали и риски
Обе уязвимости имеют оценку 9.2 по шкале CVSS v4.0 и находятся в ядре PHP, а не в отдельных фреймворках или плагинах. Это означает, что они затрагивают любую систему, использующую PHP для обработки веб-запросов. Для эксплуатации не требуется аутентификация: злоумышленнику достаточно отправить специально сформированный HTTP-запрос на конечную точку PHP. Затронуты различные серверные конфигурации, включая PHP-FPM, mod_php, php-cgi, FrankenPHP и LiteSpeed, при этом PHP оценивает mod_php как наиболее рискованный.
Изначально детали уязвимостей просочились до запланированного эмбарго, что побудило команду безопасности PHP оперативно выпустить исправления 21 октября. Однако попытки эксплуатации были замечены еще 17 октября, за четыре дня до публичного раскрытия, о чем сообщали представители AWS.
Подтвержденная эксплуатация и индикаторы компрометации
CISA подтвердила, что обе уязвимости активно эксплуатируются, установив для федеральных гражданских агентств крайний срок устранения до 29 октября. Хотя на прошлой неделе агентство предупреждало об угрозе, но не фиксировало успешной эксплуатации, теперь ситуация изменилась. Исследователи Perplexity 24 октября зафиксировали 35 успешных выполнений оболочки на трех ханипотах с PHP 8.4.26 под Apache mod_php, используя методы исчерпания памяти и раскрытия информации для достижения RCE.
Лаборатория Threat Intelligence Делфтского университета отследила более 50 000 запросов на эксплуатацию PHP2Shell с более чем 600 IP-адресов в 70 странах. Из них 171 адрес перешел от простого сканирования к отправке кода эксплойтов или загрузчиков вредоносного ПО.
Рекомендуемые действия и меры защиты
Для защиты систем крайне важно немедленно обновить PHP до исправленных версий. Если немедленное обновление невозможно, рекомендуется изолировать интернет-приложения PHP и использовать правила WAF или IDS. Частичная мера, такая как установка session.upload_progress.enabled=0, блокирует лишь один из продемонстрированных путей для CVE-2026-109619 и не влияет на CVE-2026-109618.
Исправленные версии PHP:
| Ветка PHP | Исправленная версия |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
Для версий 7.4, 8.0 и 8.1 PHP выпустила минимальные бэкпорты исходного кода, но официальных релизов для этих веток нет. Их следует рассматривать как временное решение с последующим планированием полного обновления.
Поиск уязвимых установок PHP
Определение всех установок PHP может быть сложнее, чем кажется, поскольку PHP часто скрывается в различных местах, включая пакеты ОС, Homebrew, сжатые архивы на Windows, а также в составе сторонних приложений и контейнеров. Важно проверить все бинарные файлы PHP, поскольку строка версии (например, X-Powered-By: PHP/x.y.z) встроена в них, что позволяет определить точную версию без запуска файла. Для организаций, использующих решения Tanium, доступны специальные инструменты для обнаружения и инвентаризации уязвимых установок PHP в масштабах всей инфраструктуры.
Активная эксплуатация PHP2Shell означает, что организации, использующие PHP, находятся под непосредственной угрозой компрометации. Немедленное обновление до исправленных версий критически важно. Если обновление невозможно, необходимо применить временные меры защиты, такие как изоляция уязвимых приложений и использование WAF/IDS. Компаниям также рекомендуется провести ретроспективный анализ логов веб-серверов и PHP-FPM на предмет необычных сбоев или запросов. Учитывая широкое распространение PHP, эта ситуация подчеркивает важность регулярного аудита программного обеспечения и своевременного применения патчей для поддержания кибербезопасности. Своевременные системные обновления, как и в случае с Apple iOS/macOS, являются основой безопасности.
У меня уже неделю голова болит с этими PHP2Shell. Только обновился до 8.2.35 на одном проекте, а тут уже 8.2.36 просят. Кажется, что это бесконечная гонка. Отмечу, что переход на FPM и отключение mod_php реально помогло снизить риски, но все равно, это не панацея. Советую всем, кто еще на старых версиях, не откладывать апдейт, иначе потом будет намного дороже.