PHP2Shell: как проверить PHP и найти исправление

PHP2Shell объединяет две критические уязвимости PHP: CVE-2026-109618 и CVE-2026-109619. Ошибки обработки памяти и состояния между запросами могут привести к удалённому выполнению кода. Обновлять нужно сам PHP, даже если приложение и его плагины уже обновлены.

Почему нельзя ограничиться php -v

Дистрибутивы часто переносят исправления в старую версию PHP, сохраняя её основной номер. Это называется бэкпортом. Поэтому сравнение вывода php -v с номером последнего релиза может ошибочно объявить исправленный сервер уязвимым.

Для проверки нужен полный выпуск пакета. На системах с RPM получите список командой:

rpm -qa 'php*'

На Debian и Ubuntu:

dpkg -l 'php*'

Вставьте результат в проверку PHP2Shell от GetPageSpeed. Она учитывает исправления поставщиков пакетов. Разбор вставленного списка выполняется в браузере, без отправки его на сервер.

Где взять исправленный PHP

Для поддерживаемой системы начните с обновлений своего дистрибутива. Если система или ветка PHP уже снята с поддержки, проверьте наличие исправленной сборки:

В инструкциях указаны совместимые версии, команды установки и условия использования пакетов. После обновления перезапустите PHP-FPM или другой процесс, исполняющий PHP: уже работающие процессы продолжают использовать загруженный код. Затем повторно проверьте установленные пакеты.

Поможет ли настройка NGINX

Ограничение размера тела запроса и буферизация могут сократить отдельные пути атаки. Но они не исправляют уязвимости PHP. Подробности и ограничения описаны в разборе мер защиты на стороне NGINX. Основное действие остаётся прежним: установить исправленный PHP.