Конец октября был ознаменован сразу несколькими тревожными новостями из мира кибербеза. Среди них — две критические уязвимости в языке PHP, которые потенциально затрагивали около 70% веб-сайтов по всему миру. CVE-2026-109618 и CVE-2026-109619, получившие название PHP2Shell, могли позволить атакующим удаленно и без аутентификации выполнить код на сервере.
21 октября разработчики языка выпустили срочные патчи для поддерживаемых веток PHP 8.2–8.5 и неподдерживаемых PHP 7.4, 8.0, 8.1. По прогнозам экспертов, атаки на уязвимые серверы должны были начаться в течение 15 минут после публикации обновлений, а в Amazon и вовсе сообщали о попытках эксплуатации за четыре дня до выпуска патчей. На фоне этих новостей некоторые организации заранее забили тревогу. Например, в ряде стран были превентивно выключены сайты государственных сервисов. Приостановила работу даже система управления проектами и отслеживания ошибок «Википедии».
С момента выхода обновлений прошло почти две недели, однако, по данным Censys, из доступных сканированию 46 млн серверов с уязвимой версией PHP 29 млн все еще содержат дефекты. Сразу после публикации патчей мы подробно разобрали каждую ошибку и объяснили, что нужно делать компаниям и обычным пользователям. В этом блогпосте расскажем, что известно об угрозе на сегодняшний день и какие дополнительные меры необходимо предпринять бизнесу.
Что происходило после выхода патчей для PHP2Shell
Новость о критических уязвимостях в PHP вызвала бурную реакцию. Исследователи отмечали массу попыток использования уязвимостей в атаках, а свежие эксплойты появлялись пачками — спасибо нейросетям. Одно из подразделений Palo Alto Networks даже сообщило об атаке на некую госорганизацию в Европе с использованием PHP2Shell, правда, затем отозвало это заявление. По-настоящему обоснованные сведения о возможностях эксплуатации уязвимостей стали появляться позднее, а вдобавок обнаружилась еще и третья, незакрытая, брешь.
Уязвимость без патча
В пятницу, 23 октября, команда PHP предупредила о новой уязвимости — CVE-2026-115560, которая может использоваться для удаленного выполнения кода. Сделать это можно только при атаке на системы с «необычным сочетанием конфигурации и кода приложения». Причем эта конфигурация должна быть настолько экзотической, что разработчики решили отказаться от срочного патча и закрыть брешь в плановом порядке, а пока посоветовали пользователям выключить session.upload_progress.enabled.
Первые признаки эксплуатации ошибок в PHP
Вернемся к более серьезным угрозам. Наиболее емкое подтверждение эксплуатации PHP2Shell в реальных условиях появилось только 24 октября. Серверы-ловушки (ханипоты) Аделя Карими из Perplexity, на которых размещались обычные веб-страницы на PHP 8.4.26, зафиксировали успешные атаки с двух IP-адресов. Наблюдаемая цепочка эксплуатации соответствовала CVE-2026-109618. Но есть важная оговорка: исследователь использовал ханипот с Apache mod_php, то есть в самой удобной для атакующего конфигурации.
Позднее, 26 октября, американское агентство по кибербезопасности и инфраструктурной безопасности CISA включило CVE-2026-109618 и CVE-2026-109619 в перечень эксплуатируемых уязвимостей (KEV), тем самым подтвердив, что угроза не абстрактна.
Реальные взломы с использованием PHP2Shell
26 октября технологическая компания Dream сообщила о компрометации 25 межсетевых экранов и серверов управления в США, Японии, Тайване и Южной Корее, включая три системы в среде, предположительно связанной с американскими госструктурами. Атакующий объединил PHP2Shell с уязвимостью ядра Linux, получившей название Fragnesia (CVE-2026-46300). Получив полный административный контроль, он смог извлечь пароль служебной учетной записи LDAP, похитить список пользователей, групп, сетевых конфигураций и закрытых ключей.
Изначально Dream не раскрыла производителя устройств, но в обновлении от 29 октября указала, что речь идет о системах Palo Alto Networks под управлением определенных версий PAN-OS. Вендор подтвердил атаки на открытые в Интернете интерфейсы управления, призвав клиентов ограничить доступ к ним доверенными внутренними IP-адресами и установить исправления.
Почему инцидентов так мало
Эксплойтов все больше, но волны взломов так и не случилось. Возможность массовой компрометации PHP-серверов тем более не подтверждена. Так, даже в кейсе Palo Alto масштаб атаки оказался минимальным: из примерно 19 тысяч обнаруженных устройств злоумышленник отобрал 240 целей с подходящими для его эксплойта версиями ПО.
Как оказалось, существующие эксплойты PHP2Shell не универсальны. Чтобы проэксплуатировать уязвимости в конкретной инфраструктуре, атакующим приходится учитывать конкретную сборку PHP, настройки памяти, способ обработки запросов и особенности приложения. И все же опасность сохраняется, поэтому защитными мерами пренебрегать не стоит.
Как защититься
Ключевая рекомендация сохраняется — обновиться. Актуальные версии языка представлены на сайте PHP. Однако только установки патчей недостаточно: необходимо также провести глубокий аудит систем и проверить все компоненты, работающие на PHP, на признаки компрометации.
Зачем устанавливать второй пакет обновлений PHP
Спустя пять дней после публикации срочных патчей разработчики PHP выпустили еще один пакет исправлений. Дело в том, что закрывавшие PHP2Shell обновления не распространялись на уязвимость CVE-2026-111497, содержавшуюся в сторонней библиотеке Brotli. Эксплуатация бреши может привести к выполнению кода при обработке специально подготовленного сжатого ответа внешнего сервера. В сборках от 25 октября используется уже исправленная версия библиотеки. Наиболее актуальные версии PHP — 8.2.35-1, 8.3.36-1, 8.4.27-1, 8.5.12-1. Первая атака была зафиксирована 26 октября, так что медлить с установкой обновлений не стоит.
Детектирование угрозы
Среди возможных признаков компрометации с использованием PHP2Shell — необычные POST-запросы с multipart/form-data, подозрительные сочетания PHP_SESSION_UPLOAD_PROGRESS с параметрами загрузки, нетипичные размеры и серии запросов, HTTP 500 вместе с сообщениями PHP о нехватке памяти.
Выявить угрозу на разных этапах эксплуатации можно при помощи решений «Лаборатории Касперского».
- Kaspersky Endpoint Detection and Response Expert своевременно оповещает пользователя о подозрительных действиях, выполняемых в контексте веб-сервера на Linux и на Windows-машинах.
- Kaspersky Anti Targeted Attack (KATA) с модулем NDR и детектируют эксплуатацию описанных ошибок в сетевом трафике.
- Kaspersky Endpoint Security обнаруживает вредоносную активность при помощи компонента Behavior Detection.
- Kaspersky Vulnerability Management помогает выявить уязвимые версии ПО.
- Kaspersky Managed Detection and Response детектирует эксплуатацию CVE-2026-109618 и CVE-2026-109619 с помощью мониторинга действий, характерных для RCE-дефектов.
- Kaspersky Unified Monitoring and Analysis Platform (KUMA), наша SIEM-система, получила правила, которые помогают обнаружить характерную для PHP2Shell вредоносную активность.
Подробнее о том, как попытки эксплуатации уязвимостей в PHP детектируются нашими решениями, читайте в экспертом блоге Securelist.
уязвимости
Советы