Ноябрь 2026   |   В фокусе

Уязвимости PHP2Shell дают злоумышленникам полный контроль над сервером одним запросом

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

В ядре языка программирования PHP обнаружены две серьезные ошибки, получившие общее название PHP2Shell. Злоумышленники могут использовать их для удаленного выполнения кода (RCE) на веб-сервере. По оценке CVSS 4.0, обе уязвимости имеют максимальный балл 9,2 из 10, что указывает на высокий уровень риска. Для атаки не требуются учетные данные или действия жертвы: достаточно отправить один специально сформированный запрос формата multipart/form-data.

Как работают ошибки

Уязвимости затрагивают механизм обработки памяти в PHP. Они влияют на все системы, где PHP обрабатывает веб-запросы, включая серверы PHP-FPM, модуль Apache mod_php и php-cgi.

  • CVE-2026-109618: Связана с обработкой памяти при нехватке ресурсов. Если обработка сложного запроса прерывается из-за исчерпания лимита оперативной памяти (OOM), часть данных остается неинициализированной. Атакующий может обратиться к этой области памяти и выполнить собственный код.
  • CVE-2026-109619: Ошибка типа «use-after-free» (использование освобожденной памяти). После завершения запроса PHP продолжает ссылаться на уже выделенную, но затем освобожденную область памяти. Это можно эксплуатировать через модуль session.upload_progress, который включен по умолчанию в большинстве конфигураций.

Эксплуатация CVE-2026-109619 через стандартный модуль сессий означает, что уязвимы даже минимально настроенные веб-приложения, которые не используют нестандартные плагины или внешние сервисы для управления состоянием пользователя.

Какие версии под угрозой и как обновиться

Все версии 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 или новее.

Для пользователей оборудования «Континент» предусмотрены дополнительные меры защиты на уровне сетевого периметра:

  1. В продукте «Континент Web» необходимо обновить базу данных сигнатур до версии 2.7.1.101 или выше.
  2. В NGFW «Континент 4» следует активировать сигнатуры с идентификаторами: 4007678, 4007679, 4007680, 4007684, 4007685, 4007686, 4007687.

Важно понимать, что фильтрация трафика на границе сети не заменяет патч в самом ядре PHP. Обновление интерпретатора остается обязательным шагом.

Признаки успешной атаки

Если сервер уже подвергался атаке, следы можно найти в логах и файловой системе. Отдельные признаки могут быть ложными срабатываниями, поэтому их нужно оценивать комплексно:

  • Аномалии в журналах: Рядом по времени появляются сообщения об исчерпании памяти (Allowed memory size exhausted), превышении времени выполнения (Maximum execution time exceeded) или сбоях сегментации (segfault, SIGSEGV). За ними часто следуют повторные запросы от того же источника.
  • Необычные HTTP-запросы: В логах веб-сервера фиксируются POST-запросы с аномально большим количеством заголовков, пустыми файловыми полями или вложенными именами полей (nested field names).
  • Изменения в файловой системе: В каталогах сайтов, CMS, директориях загрузок, кэша и сессий появляются новые или измененные файлы. Важно проверять не только файлы с расширением .php, но и другие типы. Сравнение с эталонной копией той же версии поможет выявить чужеродные объекты.
  • Подмена конфигураций: В файлах .htaccess, .user.ini, php.ini или настройках PHP-FPM обнаруживаются подозрительные изменения, особенно в директивах auto_prepend_file и auto_append_file. Эти параметры позволяют автоматически загружать вредоносный код при каждом запросе.
  • Трассировка доступа: Появление новых администраторов CMS, неизвестных SSH-ключей, заданий cron или системных таймеров (systemd) указывает на попытку закрепиться в системе (persistence).

При подозрении на компрометацию начинать расследование стоит с анализа процессов, файлов и сетевых соединений пользователя, от имени которого работает PHP (для PHP-FPM — это пользователь пула), а затем проверить наличие признаков повышения привилегий.

Когда фактов слишком много нужна система

Асектор превращает поток новостей в понятную картину: что произошло, на что это влияет и чем может обернуться. Без шума. С доказательной базой.

Коротко о главном

Как работает механизм атаки CVE-2026-109618?

Эта ошибка возникает при исчерпании лимита оперативной памяти (OOM) во время обработки сложного запроса, из-за чего часть данных остается неинициализированной и становится доступной для выполнения вредоносного кода атакующим.

Почему уязвимость CVE-2026-109619 затрагивает даже минимально настроенные приложения?

Эксплуатация ошибки типа «use-after-free» возможна через модуль session.upload_progress, который включен по умолчанию в большинстве конфигураций, что делает безопасными лишь системы с нестандартным управлением состоянием пользователя.

Какие конкретные версии PHP необходимо установить для устранения уязвимостей?

Администраторам требуется обновить интерпретатор до версий 8.5.12, 8.4.27, 8.3.36 или 8.2.35 и выше в зависимости от используемой ветки языка, так как все более ранние сборки содержат ошибки.

Почему обновление сигнатур в продуктах «Континент» не заменяет патч ядра PHP?

Фильтрация трафика на сетевом периметре (через обновление баз в «Континент Web» или активацию сигнатур в NGFW) служит лишь дополнительной мерой, но не устраняет саму ошибку в механизме обработки памяти языка.

Какие аномалии в логах указывают на возможную успешную атаку?

Признаками компрометации являются сообщения об исчерпании памяти или сбоях сегментации (segfault), за которыми следуют повторные запросы от того же источника, а также POST-запросы с аномально большим количеством заголовков.

Где в файловой системе ищите следы закрепления злоумышленника?

Необходимо проверять каталоги сайтов и сессий на появление чужеродных файлов, а также анализировать конфигурационные файлы (php.ini, .htaccess) на наличие изменений в директивах auto_prepend_file и auto_append_file.

Какие системные изменения свидетельствуют о попытке постоянного доступа (persistence)?

Появление новых администраторов CMS, неизвестных SSH-ключей или системных таймеров (systemd) указывает на то, что атакующий пытается закрепиться в системе после первоначального проникновения.

Инфографика событий

Открыть инфографику на весь экран


Участники и связи

Отрасли: Кибербезопасность