PHP2Shell: критические уязвимости PHP от 21 октября 2026
Есть решение
Краткая статья для тех, кто, на бронепоезде, как и я, зашёл в том числе и на профильный modx.pro в поисках практических рекомендаций для MODX помимо релизов PHP и сообщений провайдеров, собрал немного инфы и порядок действий.
Что же произошло
21 октября 2026 года были обнаружены, а следом и опубликованы исправления двух критических уязвимостей PHP CVE-2026-109618 и CVE-2026-109619, обе с оценкой 9,2 по CVSS v4.0. В кулуарах в ходу название PHP2Shell, возможное последствие: выполнение кода без авторизации с правами процесса PHP.
Первая проблема связана с обработкой исчерпания памяти и некорректным состоянием данных запроса, вторая — с использованием состояния предыдущего запроса после освобождения памяти. Для отдельных сценариев атака подтверждена на mod_php и PHP-FPM.
Парни из PHP относят к группе риска все установки, обслуживающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Поэтому нужен исправленный PHP.
Какие версии исправлены
Ветка / Релиз с исправлениями
8.2 / 8.2.35
8.3 / 8.3.36
8.4 / 8.4.27
8.5 /8.5.12
PHP 8.1 и старше больше не получают обычных обновлений от проекта PHP. Для этого инцидента команда предоставила минимальные исходные backport-патчи для 7.4, 8.0 и 8.1. Пользователям этих веток нужно уточнить наличие исправленной сборки, либо переходить на поддерживаемую ветку ну и с проверкой совместимости конечно.
У дистрибутивов номер может отличаться от таблицы. Например, для Ubuntu 24.04 исправленный пакет PHP 8.3 указан как 8.3.6-0ubuntu0.24.04.13. Поэтому смотрим полный номер пакета и бюллетень поставщика, а не только 8.3.x
В объявлении PHP от 21 октября также было отдельное предупреждение об отсутствии обновлений в этот день в rpms.remirepo.net. Если используете этот репозиторий, проверьте его текущий статус и доступность исправленной сборки.
Если обновить прямо сейчас невозможно
Полное устранение этих уязвимостей требует исправленного PHP, в официальных бюллетенях перечислены временные меры для отдельных сценариев.
Для CVE-2026-109619:
Для CVE-2026-109618 описана административная установка memory_limit=-1, без возможности вернуть конечный лимит настройками приложения. Она убирает один управляемый способ вызвать исчерпание памяти, но не исключает сбой выделения памяти на уровне ОС. Такая конфигурация требует отдельного контроля ресурсов: PHP предлагает рассмотреть контейнеры/cgroups и прямо предостерегает от использования RLIMIT_AS и RLIMIT_DATA для этой цели.
Также PHP рекомендует ограничивать размер POST-запросов: ориентиры — 8M без необходимости загрузки файлов и 32M при её наличии, с upload_max_filesize < post_max_size. Дополнительные ограничения нужны на уровне веб-сервера или прокси. Это временное снижение риска, а не замена патча.
Провайдеры уже публикуют уведомления и рекомендации. Beget сообщил о временных ограничениях на виртуальном хостинге и серверах под своим администрированием, а также о приоритетном обновлении поддерживаемых версий PHP после выхода исправлений. Timeweb Cloud призывает владельцев VPS установить исправленные пакеты и перезапустить PHP-FPM. MODX Cloud уже подтвердил завершение установки патчей для всех представленных на платформе веток от PHP 7.4 до 8.3.
В практическую плоскость: на виртуальном хостинге запросите подтверждение установки исправлений для обеих CVE. Если у вас VPS без администрирования — задача ложится на ваши плечи или на вашего системного администратора.
Официальное предупреждение PHP и ссылки на технические бюллетени.
Что же произошло
21 октября 2026 года были обнаружены, а следом и опубликованы исправления двух критических уязвимостей PHP CVE-2026-109618 и CVE-2026-109619, обе с оценкой 9,2 по CVSS v4.0. В кулуарах в ходу название PHP2Shell, возможное последствие: выполнение кода без авторизации с правами процесса PHP.
Первая проблема связана с обработкой исчерпания памяти и некорректным состоянием данных запроса, вторая — с использованием состояния предыдущего запроса после освобождения памяти. Для отдельных сценариев атака подтверждена на mod_php и PHP-FPM.
Парни из PHP относят к группе риска все установки, обслуживающие веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Поэтому нужен исправленный PHP.
Какие версии исправлены
Ветка / Релиз с исправлениями
8.2 / 8.2.35
8.3 / 8.3.36
8.4 / 8.4.27
8.5 /8.5.12
PHP 8.1 и старше больше не получают обычных обновлений от проекта PHP. Для этого инцидента команда предоставила минимальные исходные backport-патчи для 7.4, 8.0 и 8.1. Пользователям этих веток нужно уточнить наличие исправленной сборки, либо переходить на поддерживаемую ветку ну и с проверкой совместимости конечно.
У дистрибутивов номер может отличаться от таблицы. Например, для Ubuntu 24.04 исправленный пакет PHP 8.3 указан как 8.3.6-0ubuntu0.24.04.13. Поэтому смотрим полный номер пакета и бюллетень поставщика, а не только 8.3.x
В объявлении PHP от 21 октября также было отдельное предупреждение об отсутствии обновлений в этот день в rpms.remirepo.net. Если используете этот репозиторий, проверьте его текущий статус и доступность исправленной сборки.
Если обновить прямо сейчас невозможно
Полное устранение этих уязвимостей требует исправленного PHP, в официальных бюллетенях перечислены временные меры для отдельных сценариев.
Для CVE-2026-109619:
- отключить session.upload_progress.enabled
- на PHP 8.5 также отключить fatal_error_backtraces
- применить настройки до разбора запроса и перезапустить все workers. Для отключения upload progress нельзя полагаться на ini_set() или FPM .user.ini.
Для CVE-2026-109618 описана административная установка memory_limit=-1, без возможности вернуть конечный лимит настройками приложения. Она убирает один управляемый способ вызвать исчерпание памяти, но не исключает сбой выделения памяти на уровне ОС. Такая конфигурация требует отдельного контроля ресурсов: PHP предлагает рассмотреть контейнеры/cgroups и прямо предостерегает от использования RLIMIT_AS и RLIMIT_DATA для этой цели.
Также PHP рекомендует ограничивать размер POST-запросов: ориентиры — 8M без необходимости загрузки файлов и 32M при её наличии, с upload_max_filesize < post_max_size. Дополнительные ограничения нужны на уровне веб-сервера или прокси. Это временное снижение риска, а не замена патча.
Провайдеры уже публикуют уведомления и рекомендации. Beget сообщил о временных ограничениях на виртуальном хостинге и серверах под своим администрированием, а также о приоритетном обновлении поддерживаемых версий PHP после выхода исправлений. Timeweb Cloud призывает владельцев VPS установить исправленные пакеты и перезапустить PHP-FPM. MODX Cloud уже подтвердил завершение установки патчей для всех представленных на платформе веток от PHP 7.4 до 8.3.
В практическую плоскость: на виртуальном хостинге запросите подтверждение установки исправлений для обеих CVE. Если у вас VPS без администрирования — задача ложится на ваши плечи или на вашего системного администратора.
Официальное предупреждение PHP и ссылки на технические бюллетени.
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Он продолжает выпускать исправления безопасности для 7.4. Сборка 7.4.33-31 опубликована 21.10. Я скачал пакет без установки и прочитал его changelog: там прямо указано [CVE-2026-109618, CVE-2026-109619] и ещё около 12 исправлений, перенесённых из 8.2.34
Сегодня уже установил на клиентский сервер эту пропатченную версию PHP 7.4 и закрыл дыру.
Настройка session.upload_progress.enabled кому интересно в MODX2 не используется, поэтому выставить для нее 0 — совершенно безопасно (но большого смысла нет, и это не панацея).
И еще одна мысль — проблемным, как я понял оказался именно PHP для apache (mod_php) — если вы используете nginx + PHP-FPM — то взлома вроде как можно не опасаться.
Я могу ошибаться, не буду утверждать безаппеляционно.
«Наиболее опасным разработчики PHP считают сценарий с модулем mod_php для веб-сервера Apache. Исследователи продемонстрировали рабочий эксплойт, который запускает посторонний код ещё до выполнения самого PHP-приложения. Под угрозой находятся также конфигурации PHP-FPM, php-cgi, FrankenPHP и LiteSpeed, хотя практическая применимость отдельных способов эксплуатации зависит от конфигурации сервера.»
Для поддерживаемых веток PHP прямо указали исправленные релизы: 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Т.е. для 7.4 ориентир в идеале — ревизия и changelog конкретной сборки.