Владельцам сайтов нужно срочно обновить PHP из-за двух критических уязвимостей

Владельцам сайтов нужно срочно обновить PHP из-за двух критических уязвимостей

Сегодня, 21 октября 2026 года, команда разработчиков PHP выпустила экстренное предупреждение о безопасности. В ядре языка обнаружены две критические уязвимости (CVE-2026-109618 и CVE-2026-109619) с оценкой опасности 9,2 из 10.

Обе дыры позволяют злоумышленнику удаленно выполнить свой код (RCE) на вашем сервере без какой-либо авторизации. Учитывая, что технические бюллетени уже находятся в открытом доступе, в ближайшие сутки начнутся массовые автоматизированные сканирования и попытки эксплуатации этих уязвимостей.

Обе уязвимости затрагивают все конфигурации PHP, обрабатывающие веб-запросы (включая PHP-FPM, Apache mod_php, php-cgi и FrankenPHP), и связаны с некорректной работой движка при очистке памяти.

  1. CVE-2026-109618 (Повреждение памяти при нехватке ресурсов). Если злоумышленник сможет спровоцировать ошибку нехватки памяти (OOM) во время обработки запроса, когда внутренние структуры данных еще не инициализированы, движок PHP может некорректно отработать процедуру очистки. Это открывает окно для подмены данных и выполнения произвольного кода. Наибольшему риску подвержены серверы с Apache и mod_php.
  2. CVE-2026-109619 (Устаревшее глобальное состояние). Уязвимость возникает, когда внутреннее состояние, выделенное под обработку одного запроса, «выживает» после освобождения памяти. Если рабочий процесс (worker) получит следующий запрос, он может использовать эти «грязные» данные до того, как они будут сброшены.

Что делать прямо сейчас

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

Список безопасных версий для поддерживаемых веток:

  • PHP 8.5 → 8.5.12
  • PHP 8.4 → 8.4.27
  • PHP 8.3 → 8.3.36
  • PHP 8.2 → 8.2.35

После установки пакетов обязательно перезапустите все PHP-процессы (например, пул PHP-FPM или сам веб-сервер).

Примечание: для веток 8.1 и старше официальных стандартных обновлений больше нет. Команда PHP подготовила минимальные исходные коды с исправлениями (доступны на GitHub) для самостоятельной сборки, но это сигнал к тому, что проект пора переводить на поддерживаемую ветку.

Костыли на крайний случай (если обновиться нельзя)

Разработчики PHP подчеркивают, любые временные меры только снижают вероятность эксплуатации некоторых сценариев, но не закрывают уязвимости полностью.

Если обновиться прямо сейчас физически невозможно, можно применить следующие настройки:

  1. Отключить отслеживание загрузки сессий (закрывает часть векторов CVE-2026-109619). Установите session.upload_progress.enabled=0 в php.ini (использование ini_set() или .user.ini не сработает) и перезапустите воркеры.
  2. Ограничить размер запросов. Установите жесткие лимиты на post_max_size (например, 8M, если загрузка файлов не требуется, или 32M, если требуется) и убедитесь, что upload_max_filesize меньше этого значения.
  3. Отключить лимиты памяти PHP. Установите memory_limit=-1 через php_admin_value в пуле FPM. Это устранит контролируемый отказ по лимиту PHP, но не спасет от системных OOM.

Перешлите эту информацию своим системным администраторам и DevOps-инженерам. С этим обновлением лучше не тянуть.

Не отставайте от технологий! Подписывайтесь на Telegram-канал, чтобы быть в курсе последних трендов и лайфхаков.

33