Команда разработчиков PHP выпустила экстренные обновления, закрывающие критические уязвимости PHP RCE (Remote Code Execution). Версии 8.5.12, 8.4.27, 8.3.36 и 8.2.35 устраняют ошибки, позволяющие злоумышленникам выполнять произвольный код на сервере без аутентификации. Настоятельно рекомендуем обновиться немедленно.
Кто в зоне риска?
Угрозе подвержены все установки PHP, обрабатывающие веб-запросы. Это включает:
- PHP-FPM
- Apache с модулем mod_php (риск считается максимальным)
- php-cgi
- FrankenPHP и LiteSpeed
Особенно опасна конфигурация с mod_php, так как продемонстрирован эксплойт, позволяющий запустить атаку неаутентифицированным запросом еще до запуска кода самого приложения.
Детали уязвимостей
- CVE-2026-109618 (RCE через повреждение OOM): Ошибка возникает при обработке нехватки памяти (Out-Of-Memory). Если память заканчивается в момент частичной инициализации данных запроса, процедура очистки может ошибочно принять невалидные данные за корректные.
- CVE-2026-109619 (RCE через устаревшее глобальное состояние): Внутреннее состояние запроса может сохраниться в памяти после ее освобождения. Следующий запрос, обработанный тем же воркером, может использовать эти «остатки» до того, как произойдет нормальная инициализация.
Как обновиться?
- Установите актуальные версии: PHP 8.5.12, 8.4.27, 8.3.36 или 8.2.35.
- Пользователи Linux должны проверить репозитории своих дистрибутивов — крупные вендоры уже получили патчи заранее.
- Для Windows бинарные файлы и исходный код доступны на официальной странице загрузок PHP.
- Важно: Версии PHP 8.1 и старше более не поддерживаются основным проектом. Если вы используете их, обратитесь к вашему LTS-вендору или рассмотрите возможность миграции на поддерживаемую ветку.
- Пользователям репозитория rpms.remirepo.net рекомендуется временно перейти на пакеты дистрибутива или сборку из исходников, так как обновление в этом репозитории появится с задержкой.
Временные меры защиты (если обновление невозможно прямо сейчас)
Полностью защитить систему можно только обновлением, но следующие шаги снизят риск эксплуатации конкретных векторов атаки:
Против CVE-2026-109618 (OOM corruption):
- Установите
memory_limit=-1на уровне конфигурации сервера (например,php_admin_valueв пуле FPM или конфиге Apache), чтобы приложение не могло переопределить это значение. - Ограничьте
post_max_size. Для сайтов без загрузки файлов установите 8M, с загрузками — 32M. - Используйте лимиты контейнеров или cgroups для изоляции воркеров. Не используйте RLIMIT_AS или RLIMIT_DATA, так как они могут спровоцировать саму уязвимость.
Против CVE-2026-109619 (stale global state):
- Отключите прогресс загрузки сессий: установите
session.upload_progress.enabled=0в php.ini или конфиге сервера и перезапустите все воркеры. - Для PHP 8.5 установите
fatal_error_backtraces=0. - Удалите любые невалидные или устаревшие настройки, которые вызывают диагностику ошибок до завершения инициализации запроса.
Чек-лист безопасности после обновления
После установки патча, закрывающего критические уязвимости PHP RCE, недостаточно просто перезагрузить сервер. Чтобы гарантировать защиту инфраструктуры, выполните следующие шаги:
- Проверка активной версии.
Убедитесь, что веб-сервер действительно использует обновленный интерпретатор. Выполните в терминале команду php -v или создайте временный файл info.php с функцией phpinfo(). Часто бывает, что CLI-версия обновилась, а модуль Apache или пул PHP-FPM продолжает работать со старой библиотекой. - Аудит логов на предмет атак.
Пока вы не обновились, ваш сервер мог быть целью автоматических сканеров. Проверьте логи доступа (access.log) и ошибок (error.log) за последние сутки. Ищите подозрительные POST-запросы с большим объемом данных или обращения к нестандартным эндпоинтам — это могут быть следы попыток эксплуатации CVE-2026-109618.В качестве дополнительной меры защиты рекомендуется ограничить доступ по IP-адресам к чувствительным разделам сайта через конфигурацию веб-сервера. - Валидация конфигурации php.ini.
Если вы применяли временные меры защиты (например, отключали session.upload_progress или меняли memory_limit), сейчас самое время вернуть настройки в штатный режим. Оставьте только те ограничения, которые необходимы для работы ваших приложений, чтобы не снижать производительность системы. - Тестирование работоспособности сайтов.
Критические исправления иногда влияют на работу легаси-кода. Пройдитесь по основным функциям ваших проектов: формам обратной связи, загрузке файлов и авторизации. Убедитесь, что после устранения уязвимостей PHP RCE функционал не пострадал. - Настройка автоматических обновлений.
Чтобы не пропустить будущие патчи, настройте unattended-upgrades (для Debian/Ubuntu) или аналогичные инструменты для вашего дистрибутива. Безопасность — это процесс, а не разовое действие. Регулярное обновление стека технологий защитит вас от новых векторов атак. Регулярное обновление веб-сервера на Linux и своевременная установка заплаток — это базовая гигиена администратора, которая защитит вас от новых векторов атак в будущем.
Своевременная реакция на такие инциденты — залог стабильной работы любого веб-ресурса. Не игнорируйте advisories от разработчиков и всегда проверяйте целостность системы после внесения изменений.
Технические детали и полные описания уязвимостей доступны в официальном advisory PHP.

