
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.