Предупреждение о безопасности: критические уязвимости удалённого выполнения кода PHP, обновитесь немедленно

21 октября 2026 года выпущена экстренная серия обновлений PHP. PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35 устраняют две критические уязвимости, которые могут позволить неаутентифицированное удалённое выполнение кода (RCE). Всем пользователям PHP настоятельно рекомендуется немедленно выполнить обновление.

Кто находится в зоне риска

Подвержены риску все установки PHP, обслуживающие веб-запросы, включая:

Наибольший риск наблюдается при использовании mod_php. Уже продемонстрирован эксплойт, при котором неаутентифицированный запрос может инициировать атаку ещё до выполнения какого-либо кода приложения.

Уязвимости

RCE через повреждение данных при нехватке памяти (OOM), CVE-2026-109618 (GHSA-w8hw-w9fx-j79w). Обработка ситуации нехватки памяти (Out Of Memory) может прервать выполнение PHP в момент, когда внутренние данные запроса инициализированы лишь частично. При последующей очистке запроса PHP может ошибочно считать эти некорректные данные валидными.

RCE через устаревшее глобальное состояние, CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp). Внутреннее состояние, принадлежащее запросу, может сохраниться после освобождения памяти, на которой оно находилось. Следующий запрос, обрабатываемый тем же рабочим процессом, может использовать это устаревшее состояние до того, как оно будет корректно переинициализировано.

Как обновиться

Если вы не можете обновиться немедленно

Обновление является единственным полноценным решением. Однако следующие меры позволяют снизить риск эксплуатации отдельных векторов атаки.

Для CVE-2026-109618 (RCE через OOM)

Для CVE-2026-109619 (устаревшее глобальное состояние)

Установите:

session.upload_progress.enabled=0

и перезапустите все рабочие процессы. Настройка должна применяться через php.ini, конфигурацию пула FPM или конфигурацию веб-сервера. Не полагайтесь на ini_set() или .user.ini.

В PHP 8.5 дополнительно установите:

fatal_error_backtraces=0

и перезапустите все рабочие процессы.

Удалите некорректные или устаревшие настройки, применяемые для каждого запроса и вызывающие диагностические сообщения до завершения инициализации PHP. Скрытие сообщений через error_reporting, display_errors или оператор @ не помогает.

Исправьте все доступные атакующему фатальные ошибки и тайм-ауты выполнения, включая ошибки в:

Бюллетени безопасности

Для полного технического описания рекомендуется ознакомиться с соответствующими бюллетенями безопасности: GHSA-w8hw-w9fx-j79w и GHSA-6wmf-4rv5-p3rp. Полный текст предупреждения на английском языке опубликован на php.net: Security advisory: Critical remote code execution vulnerabilities, update now.

Автор статьи: Андрей Олегович