21 октября 2026 года PHP Foundation выпустил экстренные обновления безопасности для четырёх активных веток языка. Два критических бага — CVE-2026-109618 и CVE-2026-109619 — позволяют неаутентифицированному злоумышленнику выполнить произвольный код на сервере, причём в случае Apache с mod_php атака срабатывает до запуска кода самого приложения. Если вы используете PHP, патч нужно поставить прямо сейчас.


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

Команда разработки PHP выпустила экстренные обновления безопасности, устраняющие PHP2Shell — две критические уязвимости (CVE-2026-109618 и CVE-2026-109619), которые позволяют злоумышленникам выполнять код удалённо на веб-серверах без какой-либо аутентификации.

21 октября, чуть раньше объявленного времени 14:00 UTC, вышли релизы PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35, закрывающие две уязвимости с рейтингом CVSS v4.0 9.2.

⚠ Обновитесь немедленно
Единственная полноценная защита — установить патч. PHP Foundation подчёркивает: реальных обходных путей нет, только обновление делает сервер безопасным. Наиболее уязвима конфигурация Apache mod_php — именно под неё проще всего создать рабочий эксплойт.

Технические детали уязвимостей

CVE-2026-109618 — RCE через OOM corruption

OOM (out-of-memory — исчерпание памяти): обработка ситуации нехватки памяти может прервать PHP в момент, когда внутренние данные запроса инициализированы лишь частично. Очистка после запроса может затем обращаться к невалидным данным как к корректным.

Проще говоря: если запрос достигает лимита memory_limit в «неправильный» момент, PHP оставляет частично инициализированные структуры в памяти и позже работает с ними как с нормальными, что ведёт к повреждению памяти и RCE (Remote Code Execution — удалённое выполнение кода).

CVE-2026-109619 — RCE через stale global state

Use-after-free — обращение к уже освобождённой памяти: внутреннее состояние запроса может сохраняться после того, как его память освобождена. Последующий запрос, обрабатываемый тем же воркером, может использовать это устаревшее состояние до того, как нормальная инициализация сбросит его.

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

Таблица затронутых версий

Ветка PHPИсправлено в
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35
8.1 и старшеОфициального патча нет — версии достигли конца поддержки
ℹ PHP 8.2 уходит на пенсию
PHP 8.2 достигает конца жизненного цикла 31 декабря 2026 года — CVE-2026-109618 и CVE-2026-109619 стали для этой ветки последними патчами безопасности. Если вы ещё на 8.2 — самое время спланировать переход.

Как уязвимости нашли: ИИ против PHP

История обнаружения уязвимостей показательна с точки зрения роли ИИ в современной кибербезопасности.

PHP Foundation фиксирует: компания Calif начала аудит 30 июля 2026 года, и уже 11 августа 2026 года исследователь Ryan A из Calif сообщил о безусловном удалённом выполнении кода. OpenAI независимо сообщила о той же первопричине в тот же день.

Wiz сообщает об обнаружении первой уязвимости 19 августа 2026 года с использованием Wiz Atlas, Gemini 4 Argon и GPT-5.6 Sol. Уже 20 августа было подтверждено выполнение кода против Drupal, 21 августа — против WordPress.


timeline
    title Хронология обнаружения и закрытия PHP2Shell
    2024 : Первый внешний аудит PHP (Quarkslab)
         : Обнаружены первые признаки OOM-проблемы
    30 июл 2026 : Calif начинает аудит в рамках Patch the Planet
    11 авг 2026 : Calif и OpenAI независимо сообщают об RCE
    24 авг 2026 : Wiz сообщает о дополнительных векторах атаки
    18 сен 2026 : OpenAI сообщает о новых векторах
    20 окт 2026 : CVE-IDs утекают в сеть — дата релиза перенесена
    21 окт 2026 : Выход PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35

Провал координированного раскрытия и утечка

Координированное раскрытие информации (coordinated disclosure) прошло гладко — до последнего момента.

20 октября в ~15:00 UTC идентификаторы CVE начали распространяться на форумах и в социальных сетях с некорректным рейтингом CVSS 10.0 (реальный — 9.2) и неверным временем релиза. PHP Foundation был вынужден опубликовать предварительное уведомление досрочно и перенести релиз с 22 на 21 октября.

Команда PHP security мониторила появляющиеся PoC-эксплойты и не выявила функциональных рабочих эксплойтов на момент публичного раскрытия.

PHP Foundation сообщила: proof-of-concept код циркулировал после утечки, но команда безопасности PHP «не выявила функциональных эксплойтов на момент релиза/публичного раскрытия».

Структурный сбой и новая организация безопасности

Фонд открыто признал проблемы с процессом принятия решений: первые признаки OOM-уязвимости были обнаружены ещё в 2024 году в ходе аудита Quarkslab, но исправление откладывалось месяцами из-за разногласий внутри команды по поводу обратной совместимости и возможных побочных эффектов.

Конкурирующие варианты исправлений грозили нарушить совместимость, открыть векторы DoS-атак или потребовать изменений в сторонних расширениях, а небольшая команда не могла договориться — работа над патчем тормозила месяцами. PHP Foundation назвал задержку «структурным провалом» своего процесса принятия решений и нехватки ресурсов.

В ответ PHP Foundation существенно реорганизовал работу с безопасностью:

  • Май 2026 — создана Ecosystem Security Team
  • Июль 2026 — Alexandre Daubois присоединился для работы с отчётами об уязвимостях
  • Сентябрь 2026 — Daniel Scherzer взял на себя работу по hardening (укреплению безопасности)
  • Добавлены инструменты: OpenAI Daybreak Red для валидации отчётов, sanitizer builds и среды воспроизведения
💡 Временные меры до обновления

Если немедленное обновление невозможно:

  • Для CVE-2026-109618: установите memory_limit=-1, чтобы приложения не могли его переопределить, держите post_max_size низким и ограничьте размер запросов на уровне веб-сервера или прокси.
  • Для CVE-2026-109619: установите session.upload_progress.enabled=0 и перезапустите все воркеры; на PHP 8.5 также установите fatal_error_backtraces=0.
  • Перезапустите Apache, PHP-FPM или другой PHP-сервер после внесения изменений.

Почему это важно для всей отрасли

PHP обслуживает Wikipedia, WordPress-сайты, магазины WooCommerce, сайты на Drupal и витрины Adobe Commerce. По различным оценкам, PHP работает на большей части веба — масштаб проблемы колоссальный.

Эта история важна по двум причинам. Во-первых, она наглядно показывает, как ИИ-инструменты (Gemini, GPT-5.6, Claude) становятся полноценными участниками процесса поиска уязвимостей в production-коде. Во-вторых, она демонстрирует, насколько критичны прозрачность и ресурсы в работе команд безопасности open-source проектов: без финансирования PHP Foundation у нескольких разработчиков физически не было бы возможности работать над патчем в полную силу.

Действие одно: обновитесь до PHP 8.5.12, 8.4.27, 8.3.36 или 8.2.35 прямо сейчас.