php2shell: критические уязвимости PHP, исправления для Ubuntu

Две критические уязвимости в PHP, получившие общее имя php2shell, позволяют неаутентифицированному злоумышленнику выполнить произвольный код на сервере. Им присвоены идентификаторы CVE-2026-109618 и CVE-2026-109619, обе имеют оценку CVSS 4.0, равную 9.2, что соответствует уровню CRITICAL. Ubuntu выпустила исправления затронутых пакетов для всех поддерживаемых релизов.

Кого касается php2shell

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

Почему раскрытие ускорили

PHP Foundation раскрыла информацию об уязвимостях по схеме координированного раскрытия (CVD) совместно с дистрибьюторами и назначила публичную дату на 22 октября 2026 года, 14:00 UTC. Однако из-за публичной утечки дату сдвинули на 21 октября 2026 года, 14:00 UTC.

Какие релизы Ubuntu затронуты и чем исправлены

Релиз Пакет Исправление
Trusty (14.04) php5 5.5.9+dfsg-1ubuntu4.29+esm18
Xenial (16.04) php7.0 7.0.33-0ubuntu0.16.04.16+esm22
Bionic (18.04) php7.2 7.2.24-0ubuntu0.18.04.17+esm14
Focal (20.04) php7.4 7.4.3-4ubuntu2.29+esm5
Jammy (22.04) php8.1 8.1.2-1ubuntu2.28
Noble (24.04) php8.3 8.3.6-0ubuntu0.24.04.13
Resolute (26.04) php8.5 8.5.4-0ubuntu1.5
Stonking (26.10) php8.5 8.5.9-0ubuntu2.1

Обратите внимание: для релизов 14.04–20.04 исправления поставляются через ESM и требуют подписки Ubuntu Pro. Для 22.04, 24.04, 26.04 и 26.10 исправления входят в стандартную поддержку. Если ваш сервер работает на актуальном LTS, заодно стоит держать в поле зрения и другие свежие изменения в Ubuntu — обновления ядра и системных компонентов выходят с той же регулярностью.

Как проверить, уязвима ли система

Проверить версии установленных пакетов интерпретатора PHP можно командой:

apt list '?installed ?name(^php[0-9.]+$)'

Сравните вывод с таблицей выше: если версия пакета ниже указанной в столбце «Исправление», система уязвима.

Как обновиться

Рекомендуется обновить все пакеты:

sudo apt update && sudo apt upgrade

Если это невозможно, обновите только затронутый компонент:

sudo apt update && sudo apt install --only-upgrade '?name(^php[0-9.]+$)'

После обновления приложение, использующее интерпретатор PHP, скорее всего, потребуется перезапустить. Например, для приложения на apache2 с mod_php нужно перезапустить демон apache:

sudo systemctl restart apache2

Либо перезагрузите систему, чтобы все приложения использовали обновлённые компоненты:

sudo reboot

Автоматические обновления и Ubuntu Pro

Начиная с Ubuntu 16.04 LTS функция unattended-upgrades включена по умолчанию. Она автоматически применяет новые обновления безопасности каждые 24 часа. Если она включена, исправления будут установлены в течение 24 часов после публикации, но затронутые приложения всё равно потребуется перезапустить или перезагрузить систему.

Ubuntu 26.10, 26.04 LTS, 24.04 LTS и 22.04 LTS получают исправления в рамках стандартной поддержки. Для Ubuntu 20.04 LTS и более старых версий исправление доступно по подписке Ubuntu Pro через сервис Expanded Security Maintenance (ESM). Ubuntu Pro бесплатен для 5 машин, а для участников сообщества — для 50 машин. Подписка также даёт доступ к Landscape, который позволяет управлять развёртыванием исправлений безопасности в инфраструктуре.

Что делать администратору

Если в вашей инфраструктуре есть веб-приложения на PHP, проверьте версии пакетов и обновитесь как можно скорее. Не забудьте перезапустить веб-сервер или PHP-FPM: обновление пакетов без перезапуска служб оставляет уязвимость активной. Для старых релизов Ubuntu проверьте статус подписки Ubuntu Pro — без неё исправления через ESM недоступны. Тем, кто обновляет ядро и системные пакеты регулярно, пригодится и обзор функций Linux 7.3: в нём собрано, что меняется в ядре и подсистемах, которые затрагивают такие обновления.

Частые вопросы

Какие именно уязвимости закрыты?

Две уязвимости PHP с идентификаторами CVE-2026-109618 и CVE-2026-109619, обе с оценкой CVSS 4.0 9.2 (CRITICAL). Они позволяют неаутентифицированное удалённое выполнение кода (RCE).

Кого затрагивает php2shell?

Любое PHP-приложение: уязвимости затрагивают сам интерпретатор PHP, а не конкретный фреймворк или CMS.

Нужна ли аутентификация для атаки?

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

Как проверить свою версию PHP?

Выполните apt list '?installed ?name(^php[0-9.]+$)' и сравните вывод с таблицей исправленных версий для вашего релиза Ubuntu.

Что делать, если обновиться нельзя?

Можно обновить только пакеты PHP командой sudo apt install --only-upgrade '?name(^php[0-9.]+$)' после sudo apt update. После этого перезапустите веб-сервер или PHP-FPM.

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

Изначально публичное раскрытие было назначено на 22 октября 2026 года, 14:00 UTC, но из-за публичной утечки информации дату перенесли на 21 октября 2026 года, 14:00 UTC.

Есть ли исправления для старых релизов Ubuntu?

Да, для Trusty (14.04), Xenial (16.04), Bionic (18.04) и Focal (20.04) исправления доступны через ESM при наличии подписки Ubuntu Pro. Для 22.04 и новее исправления входят в стандартную поддержку.

Достаточно ли unattended-upgrades?

Автоматические обновления установят исправления в течение 24 часов, но приложения, использующие PHP, всё равно нужно перезапустить или перезагрузить систему — иначе уязвимость останется активной.

Где найти официальные уведомления?

Ubuntu опубликовала уведомления USN-8948-1 и USN-8948-2, а PHP Foundation — запись в архиве новостей на php.net от 21 октября 2026 года.

Источник: ubuntu.com