Перейти к содержимому

Уязвимости PHP CVE-2026-109618 и CVE-2026-109619: срочные патчи

PHP устранил две критические уязвимости CVE-2026-109618 и CVE-2026-109619 с оценкой CVSS 9,2. Обновление CMS не защищает: нужно патчить сам движок.

5 мин чтения Как мы работаем

21 октября 2026 года проект PHP опубликовал обновления для двух критических уязвимостей, позволяющих выполнять удалённый код без аутентификации. Администраторам сайтов и приложений на PHP необходимо обновить движок на сервере и убедиться, что активные процессы загрузили корректную версию. Обновление одной лишь CMS не устраняет уязвимость в самом языке.

Уязвимости зарегистрированы под идентификаторами CVE-2026-109618 и CVE-2026-109619, обе получили оценку 9,2 из 10 по шкале CVSS v4.0. Cloudflare сообщил об атаках против своих клиентов, а CloudLinux зафиксировал попытки, соответствующие известным шаблонам эксплуатации. Это свидетельства реальной активности злоумышленников, однако они не означают, что каждая уязвимая инсталляция уже скомпрометирована.

Два дефекта в управлении памятью

CVE-2026-109618 связана с поведением PHP в момент исчерпания доступной памяти. Прерывание операции может оставить внутренние данные частично неинициализированными, а при завершении запроса процесс способен обращаться к ним как к корректным. Согласно официальному advisory, последствием может стать выполнение кода без каких-либо учётных данных с привилегиями аккаунта, от имени которого запущен веб-процесс.

PHP: News Archive - 2026
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.

CVE-2026-109619 затрагивает внутреннее состояние, которое остаётся доступным после освобождения памяти, на которую оно ссылалось. Следующий запрос, обрабатываемый тем же процессом, может использовать эти уже недействительные ссылки. В этом случае также подтверждена возможность удалённого выполнения кода. Это не означает автоматического получения привилегий администратора системы: реальный ущерб зависит от прав учётной записи, от которой работает затронутый процесс.

Какие серверы подвержены угрозе

Предупреждение PHP касается инсталляций, обрабатывающих веб-запросы через PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Проект считает наиболее высоким риск для Apache с mod_php, где подтверждённая атака может сработать ещё до начала выполнения кода приложения. Контроль, встроенный в CMS, нельзя считать достаточной защитой для этого сценария.

Риск неодинаков во всех конфигурациях. В advisory разграничены подтверждённые векторы атак и условия, зависящие от режима выполнения, расширений и особенностей приложения. Для второй уязвимости удалённое выполнение подтверждено и в PHP-FPM через цикл управления сессиями. Использование PHP-FPM само по себе не гарантирует защиту сервера.

Три ключевых пункта

  • Серьёзность: две критические уязвимости, обе с оценкой CVSS v4.0 9,2.
  • Исправление: обновить PHP и убедиться, что процессы, обслуживающие сайт, загрузили корректный код.
  • Проверка: убедиться, какой движок реально использует веб-сервер, а не только какая версия доступна в терминале.

Исправленные версии и пакеты с бэкпортами

Проект PHP указывает первые исправленные выпуски для четырёх поддерживаемых веток. Таблица относится к версиям, распространяемым самим проектом: для пакетов дистрибутивов Linux и поставщиков коммерческой поддержки необходимо дополнительно проверить соответствующий бюллетень безопасности.

Конкретные номера версий указаны в официальных advisory по каждой из двух уязвимостей.

PHP 8.1 и более старые ветки больше не получают обновлений от проекта PHP, однако ряд поставщиков поддерживает пакеты с исправлениями, перенесёнными на устаревшие версии, так называемые бэкпорты. Для таких пакетов номер исходной версии сам по себе не позволяет определить, включено ли исправление: необходимо проверять актуальную ревизию и рекомендации поставщика. Кроме того, официальная поддержка безопасности PHP 8.2 завершается 31 декабря 2026 года: установка этого патча и планирование миграции на новую версию являются двумя отдельными задачами.

Как обновить PHP и проверить результат

По сути, обновление должно охватить все инсталляции PHP, используемые на сервере. Один хост может содержать несколько версий, несколько сайтов и отдельные процессы. В документации cPanel, например, разграничены внутренний PHP панели управления и пакеты EasyApache, предназначенные для сайтов. Plesk и CloudLinux также публикуют инструкции для конкретных компонентов и платформ: наличие обновлений нужно проверять применительно к реально используемой среде.

Cloudflare BlogDaniele Molteni

Команда php -v показывает программу, запущенную в оболочке, которая может отличаться от движка, настроенного для конкретного сайта. Проверка через панель управления или диагностическая страница, выполняемая веб-сервером, позволяет убедиться в корректном контексте. При использовании phpinfo() доступ к странице необходимо ограничить, а после проверки удалить её: она раскрывает пути, конфигурацию, заголовки и переменные окружения. Порядок действий, согласованный с администратором или хостинг-провайдером, выглядит так:

  1. Подготовить резервную копию или снимок системы с готовой процедурой восстановления.
  2. Определить используемые версии и компоненты, включая движки, назначенные разным сайтам, и те, что задействованы панелями управления.
  3. Установить нужные пакеты через менеджер дистрибутива или официальные инструменты провайдера.
  4. Перезапустить затронутые службы и процессы согласно инструкциям для PHP-FPM, Apache или используемой среды: старые процессы не должны продолжать обрабатывать запросы.
  5. Проверить результат через терминал и сайт, убедившись в версии, редакции пакета и работоспособности приложений.

WAF и временные меры не заменяют патч

Cloudflare и CloudLinux объявили о правилах для перехвата ряда схем атак. Это дополнительный уровень защиты, а не устранение уязвимости на сервере. Сама Cloudflare рекомендует устанавливать обновления PHP даже при наличии защиты WAF.

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

Главный вывод

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

Для администраторов работа считается завершённой при трёх проверяемых результатах: патчи установлены, процессы обновлены, экспонируемые приложения проверены. Такая последовательность исключает путаницу между доступностью патча и его фактическим применением.

Источники

Рекламный контент