К основному содержимому

PHP2Shell (CVE-2026-109618, CVE-2026-109619): проверить и закрыть

Безопасность · 27.10.2026 · 3 мин чтения

Что случилось

21 октября 2026 года разработчики PHP выпустили внеплановое обновление безопасности. Две уязвимости — CVE-2026-109618 и CVE-2026-109619, обе с оценкой CVSS 9.2 — позволяют выполнить произвольный код на сервере без входа в систему и без единого пароля. Общее название — PHP2Shell.

Почему это опаснее обычной уязвимости

Атака срабатывает до того, как запрос доходит до кода сайта. Ни форма входа, ни двухфакторная проверка, ни права доступа внутри приложения не помогут: к моменту их проверки код злоумышленника уже выполнен. Первая уязвимость связана с обработкой нехватки памяти, из-за которой данные запроса остаются наполовину разобранными; вторая — с остатками состояния в рабочем процессе, которые достаются следующему запросу.

Исследователи Datadog отмечают, что проверки на уровне приложения атаку не останавливают. Cloudflare уже фиксирует обращения, нацеленные на эти уязвимости.

В каких версиях исправлено

Ветка PHPИсправленная версия
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35

Ветки 8.1 и старше поддержку не получают: если вы на них, обновление версии — единственный выход.

Как проверить свой сервер за минуту

Команда php -v отвечает не на тот вопрос. В Ubuntu, Debian, AlmaLinux и других дистрибутивах исправление переносят в старую версию, не меняя её номер: на исправленном сервере по-прежнему будет написано 8.3.6. Поэтому смотреть нужно на версию пакета и его журнал изменений.

Ubuntu и Debian:

dpkg -l | grep -E 'php[0-9.]+-(fpm|cli|common)'
zgrep -l 'CVE-2026-109618' /usr/share/doc/php*/changelog.Debian.gz

Если вторая команда вывела путь к файлу — исправление установлено. Если ничего не вывела, сервер ещё уязвим.

AlmaLinux, Rocky, RHEL:

rpm -q php-fpm php-cli
rpm -q --changelog php-cli | grep -m1 CVE-2026-109618

Что делать прямо сейчас

  1. Обновите пакеты PHP средствами своего дистрибутива — это самый быстрый и поддерживаемый путь.
  2. Перезапустите PHP-FPM: без перезапуска продолжают работать старые процессы со старым кодом.
  3. Повторите проверку журнала изменений и убедитесь, что CVE в нём появились.

Подробные команды для каждой системы — в наших статьях по Ubuntu и Debian, AlmaLinux и RHEL, а также для панелей управления и Docker.

Если обновиться прямо сейчас нельзя

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

session.upload_progress.enabled = 0
post_max_size = 8M

После правки обязательно перезапустите PHP-FPM. Это выигрыш времени на обновление, а не замена ему.

Частые вопросы

У меня PHP 8.3.6, значит я уязвим?

Не обязательно. В Ubuntu 24.04 исправленный пакет называется 8.3.6-0ubuntu0.24.04.13 и показывает версию 8.3.6. Проверяйте журнал изменений пакета, а не вывод php -v.

Достаточно ли обновить только PHP-FPM?

Нет. Обновляйте все пакеты PHP на сервере и перезапускайте службы, которые их используют, включая веб-сервер при mod_php.

Помогает ли закрытие сайта паролем?

Нет. Уязвимость срабатывает раньше, чем приложение проверит доступ.

Нужно ли что-то делать клиентам ZevsHost?

На серверах общего хостинга и в нашем биллинге PHP обновлён. Владельцам VPS и выделенных серверов нужно обновить PHP самостоятельно — сервер в вашем управлении.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке