Загрузка файла на PHP обычно заканчивается записью в сессию и ответом клиенту. Здесь она заканчивается оболочкой - командной строкой сервера в чужих руках. Связку из двух уязвимостей в самом PHP уже применяют против межсетевых экранов Palo Alto: там исследователи подтвердили получение root. На обычном веб-хостинге та же цепочка чаще валит рабочий процесс, чем даёт доступ.
Описание
Обе уязвимости - CVE-2026-109618 и CVE-2026-109619 - описывают порчу памяти в ядре PHP. Оценка у каждой 9.2 по CVSS 4.0. Разработчики закрыли обе 21 октября 2026 года в выпусках 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Двадцать шестого октября записи попали в перечень CISA KEV, куда вносят уязвимости с подтверждённым применением в атаках. Каталог говорит о факте больше, чем оценка о потенциальном ущербе.
Практический вход в цепочку - механизм отчёта о прогрессе загрузки, включённый в PHP по умолчанию с версии 5.4. Пока запрос не завершил инициализацию, механизм пишет в файл сессии служебные данные, включая ключ от отправителя. Дальше всё решает окружение: адреса в памяти, лимит памяти и модель обработки запросов определяют, дойдёт ли дело до выполнения команд. по данным исследователей, в открытых каталогах к 30 октября накопилось 616 файлов, связанных с этой цепочкой. Среди них клоны чужих пробных эксплойтов, сканеры, самодельные сборки и журналы запусков.
Публичные наблюдения расходятся ровно в одном: кто видел оболочку, а кто искал и не нашёл. Три сети приманок - watchTowr, 0x4D31 и GreyNoise - зафиксировали запуск оболочки на подконтрольных узлах в конце октября. У Wiz и CrowdStrike успеха в телеметрии не нашлось: попытки упирались в исчерпание памяти. При этом все успешные записи получены на приманках и сенсорах, а не на боевых серверах. Впрочем, есть и обратный пример. Один оператор прогнал полную цепочку против государственного ресурса в Восточной Европе и получил только падения и исчерпание памяти. Доступ он взял через другую ошибку в серверном коде.
Исключением стали межсетевые экраны Palo Alto с PAN-OS. Управляющий интерфейс там крутит одну и ту же сборку PHP 8.0.30 на всех незакрытых устройствах. Dream Research описал кампанию, в которой PHP2Shell соединили с повышением привилегий в ядре Linux. Сначала собрали около 19 000 доступных из интернета межсетевых экранов. Отклик проверили примерно у 5 000 устройств. Список сузили до 240 целей по географии и версии сборки. В итоге root получили 25 серверов, включая внутренний узел, найденный через туннель. Unit 42 сообщила, что проверила инструменты того же атакующего и подтвердила результат.
Второй элемент связки - CVE-2026-46300, которую Red Hat называет вариантом уязвимости Dirty Frag в подсистеме ESP. Локальный пользователь с низкими привилегиями пишет произвольные байты в кеш страниц файлов, доступных только на чтение. Этого хватает, чтобы перезаписать привилегированный исполняемый файл и получить root. Оценка - 7.8 по CVSS 3.1. В CISA KEV запись добавили 28 октября.
Исправления для PHP вышли во всех поддерживаемых ветках и закрывают обе уязвимости сразу. Если обновление приходится откладывать, остаётся отключить отчёт о прогрессе загрузки в конфигурации. Тот же приём советует cPanel в единственной публичной рекомендации по третьей записи - CVE-2026-115560, открытой 23 октября без собственных технических деталей. Для межсетевых экранов Palo Alto разговор другой: управляющий интерфейс не стоит держать в интернете, а PHP на нём обновляется вместе с прошивкой.
Пока цепочка срабатывает там, где версии совпадают до байта, и ломается там, где их много. Это не защита, а совпадение конфигураций.