21 октября 2026 года команда PHP выпустила экстренные обновления безопасности PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Они закрывают две критические уязвимости, позволяющие удалённо выполнить код без аутентификации: CVE-2026-109618 и CVE-2026-109619. Обе имеют оценку CVSS v4.0 9.2. В медиа их вместе называют PHP2Shell.
Что произошло
Обе уязвимости связаны с тем, что PHP может оставить память в повреждённом состоянии, если запрос завершается аварийно:
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): RCE через повреждение памяти при нехватке памяти (OOM). Если запрос достигает
memory_limitв неудачный момент, внутренние данные запроса остаются инициализированными лишь частично. При очистке запроса PHP может считать их корректными. На Apache с mod_php атаку можно запустить неаутентифицированным запросом ещё до выполнения кода приложения. По данным PHP Foundation, полное удалённое выполнение кода продемонстрировано с настройками по умолчанию. На PHP-FPM RCE подтверждено через пути в коде приложения. - CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): RCE через «устаревшее» глобальное состояние. Фатальная ошибка в неудачный момент может оставить внутреннее состояние, указывающее на уже освобождённую память предыдущего запроса. Следующий запрос в том же воркере может воспользоваться этой памятью (use-after-free). Последствия: утечка данных из памяти, падение воркера и выполнение кода.
Кого это касается
По словам команды PHP, под угрозой все установки PHP, обслуживающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Наивысший риск для mod_php.
Уязвимые версии (по бюллетеню AWS):
- PHP 8.5.0–8.5.11: исправлено в 8.5.12
- PHP 8.4.0–8.4.26: исправлено в 8.4.27
- PHP 8.3.0–8.3.35: исправлено в 8.3.36
- PHP 8.2.0–8.2.34: исправлено в 8.2.35
- PHP 8.1 и более старые проектом PHP больше не поддерживаются. Команда безопасности PHP опубликовала минимальные бэкпорты исходного кода для 7.4, 8.0 и 8.1. Также проверьте обновления от своего дистрибутива или LTS-поставщика.
Исправления также вошли в тестовую сборку PHP 8.6.0 RC4.
Насколько это серьёзно
PHP работает на большинстве сайтов в мире, в том числе на WordPress, Joomla, Drupal, Laravel и Symfony. По данным BleepingComputer, Cloudflare ещё до выхода патчей фиксировала первые попытки атак и развернула временные правила WAF. Британский NCSC призвал немедленно обновиться или временно отключить уязвимые системы. Разработчики PHP подчёркивают, что полноценных обходных мер нет: надёжно защищает только обновление.
Что делать сейчас
- Проверьте версию PHP. В консоли выполните
php -v. Для веб-сервера версия может отличаться, поэтому проверьте её черезphpinfo()или в панели хостинга. Для FPM выполнитеphp-fpm -v(или, например,php-fpm8.3 -v). - Обновитесь до 8.5.12, 8.4.27, 8.3.36 или 8.2.35. В Linux установите обновлённые пакеты своего дистрибутива (дистрибутивы получили патчи заранее), например
apt update && apt upgradeилиdnf upgrade php*. - Перезапустите все воркеры PHP-FPM, Apache и других SAPI. Пересоберите и переразверните Docker-образы.
- Если у вас PHP 8.1 или более старый, планируйте переход на поддерживаемую ветку. Также обратите внимание, что поддержка PHP 8.2 заканчивается 31 декабря 2026 года.
Временные меры, если обновиться немедленно невозможно (они лишь снижают риск, но не устраняют его):
- Для CVE-2026-109618: задайте
memory_limit=-1черезphp_admin_value, чтобы приложение не могло изменить это значение. Уменьшитеpost_max_sizeдо 8M (или до 32M, если нужны загрузки файлов). Ограничьте размер и сложность запросов на уровне веб-сервера или прокси. - Для CVE-2026-109619: задайте
session.upload_progress.enabled=0в php.ini или в конфигурации пула FPM и перезапустите воркеры. На PHP 8.5 также задайтеfatal_error_backtraces=0.
Источники
- php.net: Security advisory: Critical remote code execution vulnerabilities
- The PHP Foundation: Today's PHP Security Release
- AWS Security Bulletin 2026-143-AWS
- BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws
- Canadian Centre for Cyber Security: AL26-026
Обновим ваш проект на новую версию PHP
Команда CRM Go обновляет проекты клиентов до актуальных защищённых версий PHP. Мы проверяем совместимость кода, обновляем зависимости и фреймворки, тестируем проект и разворачиваем обновления без простоя сайта. Если вы не уверены, защищён ли ваш сервер уже от PHP2Shell, напишите нам, и мы поможем.
