PHP2Shell: экстренное обновление Docker-образов проектов

23 октября 2026 года пришлось отложить текущие задачи и заняться внеплановым обновлением сразу нескольких проектов. Причиной стали две критические уязвимости в PHP, объединённые под названием PHP2Shell.

Что произошло

21 октября команда разработчиков PHP выпустила внеочередные обновления безопасности, устраняющие две уязвимости:

  • CVE-2026-109618 — ошибка обработки памяти при нехватке ресурсов;
  • CVE-2026-109619 — некорректная работа с внутренним состоянием PHP между запросами.

Обе уязвимости получили оценку 9,2 по CVSS 4.0. В определённых условиях они позволяют злоумышленнику удалённо выполнить произвольный код на сервере без авторизации.

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

Какие проекты обновлены

После проверки своих проектов были выпущены исправленные сборки для трёх публичных приложений:

  • mCMS — модульная система управления сайтами. Выпущена версия 0.1.11 с PHP 8.4.27.
  • TMS — self-hosted система управления задачами. Выпущена версия 0.4.2 с PHP 8.3.36.
  • MirvMon — система мониторинга инфраструктуры. Выпущена версия 0.9.7 с PHP 8.5.12 и обновлённым FrankenPHP.

Для каждого проекта обновлено контейнерное окружение, собраны и опубликованы новые Docker-образы.

Почему это важно

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

Даже если код проекта не содержит ошибок, устаревшая версия PHP может создавать угрозу безопасности всего приложения.

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

Что дальше

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

То что новый образ был опубликован в реестре ещё не означает, что работающий контейнер автоматически установит исправление, поэтому лучше всё проверить руками.

Новых функций эти обновления не добавляют. Их задача — устранить уязвимости в базовом окружении приложений.

Дополнительная информация: официальный архив новостей PHP.

Оставить комментарий

Email не публикуется. Поля, отмеченные *, обязательны.