Массовые попытки эксплуатации PHP2Shell начались в первые 48 часов после раскрытия

PHP2shell

Две критические уязвимости удалённого выполнения кода в ядре PHP, получившие общее название PHP2Shell, стали публично известны 21 октября 2026 года. Уже в первые двое суток после раскрытия в сети наблюдались автоматизированные попытки их эксплуатации с применением нескольких инструментов. Обе уязвимости, CVE-2026-109618 и CVE-2026-109619, получили оценку 9,2 из 10 по шкале CVSS v4.0. Аутентификация и участие пользователя для атаки не нужны, поэтому попытки поддаются автоматизации и могут вестись в масштабе интернета.

Описание

Глобальная сеть приманок зафиксировала 1156 попыток эксплуатации за первые 48 часов после раскрытия этих уязвимостей. {По данным Zscaler ThreatLabz}, попытки исходили с 156 уникальных адресов и охватывали 70 организаций. Часть запросов повторялась с идентичным содержимым, что соответствует автоматическому повтору, типичному для средств эксплуатации. Наблюдения велись на приманках, имитирующих веб-приложения, поэтому они показывают активность в интернете, а не состояние конкретных сетей.

Наблюдаемые запросы укладываются в двухэтапную схему. Сначала на сервер уходит многочастный POST-запрос с полем идентификатора сессии, служебным полем, запускающим обработку загрузки, и вложением, в имени которого записан код на PHP или сериализованный объект. Тело запроса имеет размер и структуру, при которых память исчерпывается или возникает неустранимая ошибка. Такая ошибка прерывает обработку и освобождает память запроса, однако в глобальном состоянии остаются указатели на уже освобождённые участки.

Второй запрос направляется в тот же рабочий процесс и по размеру занимает освобождённые участки. Когда PHP обращается к устаревшему указателю до повторной инициализации, он читает и исполняет данные, записанные атакующим. Выполнение кода происходит с правами рабочего процесса PHP. Обе уязвимости относятся к классу использования памяти после её освобождения. Цепочку из двух уязвимостей описание представляет как надёжный путь к такому результату, поскольку первая позволяет управлять содержимым освобождённой памяти.

Инструменты и полезные нагрузки

Признаки в запросах указывают на несколько разных наборов инструментов. Один из них оставляет в разделителе многочастного запроса собственное имя, ShellFlow, а в теле вложения передаёт длинную последовательность одинаковых символов, характерную для подготовки памяти к перезаписи. Другие запросы несут готовую команду операционной системы, записывающую файл-метку на диск, и строку подтверждения, которую сервер должен вернуть в ответе. Отдельно отмечены шаблоны Nuclei и сканер Neo: они различаются разделителем, набором проверок и обращением к разным адресам приложений.

Вторая выборка охватывает 23 адреса, с которых отправлялись полезные нагрузки, связанные с PHP2Shell, и 187 событий. Среди них есть проверки внедрения кода и десериализации, попытки вызвать исчерпание памяти, выполнение команд операционной системы, запись веб-оболочки для повторного доступа и цепочки готовых объектов для десериализации. Набор отражает как проверки доступности, так и попытки выполнить команды на узле.

Успешность описанных попыток не установлена. В наблюдениях речь идёт о запросах и их содержимом, а не о подтверждённом захвате конкретных серверов. Команда, записывающая файл-метку, и строка подтверждения в ответе показывают замысел полезной нагрузки, но не доказывают, что код выполнился. Разделители и служебные строки, по которым различают инструменты, легко заменить, поэтому совпадение по ним даёт ложные срабатывания, а их отсутствие не исключает атаки.

Затронуты все выпуски PHP начиная с 5.4. Исправления вышли для веток 8.5, 8.4, 8.3 и 8.2. Ветки 8.1, 8.0 и 7.x остались без официальных патчей, им нужен переход на поддерживаемую версию. PHP широко распространён в веб-инфраструктуре: WordPress, Drupal, Joomla, Magento, встроенные устройства, панели хостинга. Поэтому число доступных целей велико, а сведений о массовых успешных компрометациях нет.

Индикаторы компрометации

Комментарии: 0