← Все новости
#Обновления

Срочное обновление PHP: что проверить на вашем сервере

Срочное обновление PHP · Emergency PHP security release

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

21 октября PHP выпустил исправления двух критических уязвимостей, обе оценены в 9.2 по CVSS v4.0. Через них можно выполнить код на сервере без авторизации, одним запросом к сайту. Подробности — в бюллетене PHP.

  • CVE-2026-109618 — повреждение данных при нехватке памяти: PHP может прерваться, когда данные запроса ещё не готовы, и потом принять их за корректные.
  • CVE-2026-109619 — устаревшее состояние: данные одного запроса переживают его и попадают в следующий, который обрабатывает тот же процесс.

По словам PHP, выше всего риск у Apache с mod_php: для него показан эксплойт, который срабатывает раньше, чем запускается код сайта. О реальных атаках на момент публикации не сообщалось.

Серверы ForestsNet Cloud неуправляемые: PHP на своём VPS обновляете вы. Ниже — как проверить и обновить. Если что-то не получается, напишите в поддержку, подскажем.

Кого касается

Всех, у кого PHP обрабатывает веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP, LiteSpeed. На практике это сайты и интернет-магазины, WordPress, Bitrix и другие CMS, панели управления и приложения на PHP, контейнеры с PHP. Если PHP на сервере нет, делать ничего не нужно.

Как проверить

  • php -v — версия PHP в командной строке.
  • php-fpm -v или, в Debian и Ubuntu, php-fpm8.3 -v с вашей версией — PHP-FPM, через него работают сайты на nginx.
  • apache2ctl -M | grep -i php в Debian и Ubuntu или httpd -M | grep -i php в AlmaLinux и Rocky Linux — модуль PHP в Apache.
  • docker ps --format '{{.Image}}' — образы контейнеров: ищите php, wordpress и другие образы на PHP.

Как обновить

  • Debian и Ubuntu: apt update && apt upgrade. Дистрибутивы получили исправления заранее. Это обновит и PHP из репозитория Ondřej Surý, если он подключён.
  • AlmaLinux и Rocky Linux: dnf upgrade 'php*'. Если PHP стоит из репозитория Remi — сегодня обновлений там не будет, так пишет сам PHP. Он советует перейти на пакеты дистрибутива или собрать PHP из исходников; до обновления включите временные меры ниже.
  • После обновления перезапустите PHP-FPM: systemctl restart php8.3-fpm с вашей версией в Debian и Ubuntu или systemctl restart php-fpm в AlmaLinux и Rocky Linux. Если PHP работает модулем Apache — перезапустите его: systemctl restart apache2 или systemctl restart httpd.
  • PHP из панели управления обновите средствами самой панели.

Дистрибутивы собирают PHP сами и переносят исправления в свои пакеты, поэтому номер версии в системе может не совпадать с php.net. Главное — чтобы 21 октября или позже пришло обновление пакетов PHP.

Docker

  • Официальные образы: когда выйдут исправленные теги — docker compose pull && docker compose up -d.
  • Свои образы на основе php: пересоберите со свежей основой — docker compose build --pull && docker compose up -d.

Если обновиться сразу нельзя

PHP перечисляет временные меры. Они закрывают только подтверждённые пути атаки и не делают сервер безопасным — полностью защищает только обновление.

  • session.upload_progress.enabled = 0 в php.ini или в настройках пула FPM, затем перезапустить все процессы PHP. Через ini_set() и .user.ini не работает.
  • post_max_size = 8M, если сайту не нужна загрузка файлов, или 32M, если нужна; upload_max_filesize — меньше этого значения.
  • Остальные меры, в том числе для PHP 8.5, — в бюллетене PHP.

Исправленные версии

Исправления вошли в PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35. Для PHP 8.1 и более старых версий выпусков нет: PHP их больше не поддерживает. Команда PHP выложила минимальные исправления в исходниках для 7.4, 8.0 и 8.1 — для тех, кто собирает PHP сам, а готовые пакеты бывают у дистрибутивов и LTS-поставщиков. Такой сайт стоит перевести на актуальную ветку PHP.