К содержанию

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:

  • отключить session.upload_progress.enabled
  • на PHP 8.5 также отключить fatal_error_backtraces
  • применить настройки до разбора запроса и перезапустить все workers. Для отключения upload progress нельзя полагаться на ini_set() или FPM .user.ini.
Это закрывает подтверждённые пути, но не все варианты уязвимости. Скрытие предупреждений через display_errors, error_reporting или @ защитой не является.

Для 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 и ссылки на технические бюллетени.
Антон Тарасов
Антон Тарасов
22 октября 2026, 00:59
modx.pro
940
Реклама

Комментарии: 5

Николай Савин
Николай Савин Администратор
22 октября 2026, 14:45
Есть такой альтрнативный PPA репозиторий для Ubuntu от Ондржея Сури.
Он продолжает выпускать исправления безопасности для 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 — то взлома вроде как можно не опасаться.

Я могу ошибаться, не буду утверждать безаппеляционно.
    Ivan K.
    Ivan K. Эксперт
    22 октября 2026, 17:56
    Вычитал в новости об этом:

    «Наиболее опасным разработчики PHP считают сценарий с модулем mod_php для веб-сервера Apache. Исследователи продемонстрировали рабочий эксплойт, который запускает посторонний код ещё до выполнения самого PHP-приложения. Под угрозой находятся также конфигурации PHP-FPM, php-cgi, FrankenPHP и LiteSpeed, хотя практическая применимость отдельных способов эксплуатации зависит от конфигурации сервера.»
    Павел Гвоздь
    Павел Гвоздь Эксперт
    22 октября 2026, 21:01
      Вячеслав Литвинов
      29 октября 2026, 16:03
      А как на виртуальном хостинге убедиться, что патч для 7.4 реально стоит? phpinfo показывает просто 7.4.33, по номеру это никак не понять. Только через поддержку спрашивать?
        Антон Тарасов
        Антон Тарасов Проверенный
        02 ноября 2026, 13:44
        Да, лучше все же спросить саппорт о применении патчей для релиза. В частности, для 7.4 релиза с отдельным номером как я понял не выпускали, для этой ветки выпускали backport апдейт прямо в исходник, хостеры и поставщики должны это включить в свои сборки, однако, phpinfo() может показывать прежную версию.

        Для поддерживаемых веток PHP прямо указали исправленные релизы: 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Т.е. для 7.4 ориентир в идеале — ревизия и changelog конкретной сборки.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5