21 октября 2026 | PHP | ИТ-безопасность
21 октября 2026 года команда безопасности PHP выпустила обновления для всех ещё поддерживаемых версий PHP. Они закрывают две критические уязвимости, получившие известность как PHP2Shell. BSI выпустило по этому поводу предупреждение и требует незамедлительно установить исправления на затронутых системах. Кто эксплуатирует веб-сервер с PHP, должен действовать уже сегодня. Это относится и ко всем, кто «всего лишь» запускает WordPress, Nextcloud или Joomla, ведь эти приложения работают на PHP.
В этой статье подытожено, что произошло, какие версии PHP затронуты, какая версия вам нужна сейчас и как за несколько минут проверить, защищён ли ваш сервер.
Содержание статьи
Что произошло? Хронология событий
Команда безопасности PHP заранее объявила о выпуске исправлений, чтобы у хостеров и администраторов было время подготовиться. Сам выпуск состоялся 21 октября 2026 года. BSI в тот же день выпустило своё предупреждение (версия 1.1).
- 20 октября 2026: предварительное предупреждение команды безопасности PHP о том, что на следующий день выйдут обновления безопасности.
- 21 октября 2026, 14:00 UTC (16:00 CEST): выпущены патчи для PHP 8.5, 8.4, 8.3 и 8.2.
- 21 октября 2026: BSI предупреждает о «критических уязвимостях, угрожающих веб-приложениям по всему миру», и рекомендует незамедлительно установить исправления. По данным BSI, крупные хостинг-провайдеры в ряде случаев превентивно отключили серверы от сети.
Обзор двух уязвимостей PHP
Речь идёт о двух отдельных ошибках в ядре PHP: CVE-2026-109618 и CVE-2026-109619. По данным команды безопасности PHP, обе могут привести к тому, что злоумышленник сможет выполнить программный код на сервере без аутентификации (unauthenticated Remote Code Execution). Уязвимости оцениваются в CVSS v4.0: 9,2 (критическая).
| Признак | Значение |
|---|---|
| Идентификаторы | CVE-2026-109618 и CVE-2026-109619 |
| Оценка | CVSS v4.0: 9,2 — критическая |
| Последствия | Выполнение кода на сервере (Remote Code Execution) без аутентификации |
| Причина 1 | Повреждение памяти, когда PHP во время обработки перестаёт получать оперативную память (Out-of-Memory) |
| Причина 2 | Устаревшее глобальное состояние, остающееся в памяти между запросами |
| Особенно уязвимы | Apache с mod_php |
По оценке BSI, на момент публикации подтверждённых атак не было, но были неподтверждённые признаки попыток эксплуатации. Опыт показывает, что при критических уязвимостях в столь распространённом программном обеспечении следует ожидать, что злоумышленники проанализируют исправления и подготовят автоматизированные атаки. Поэтому окно для установки исправлений короткое.
Кого это затрагивает?
Затронут в принципе любой сервер, на котором работает PHP, независимо от того, как подключён PHP: PHP-FPM, mod_php в Apache, php-cgi, FrankenPHP или LiteSpeed. По данным команды безопасности PHP, наиболее высокий риск — при Apache с mod_php.
BSI прямо называет приложения, построенные на PHP и поэтому также потенциально затронутые:
- Системы управления контентом: WordPress, Drupal, TYPO3, Joomla
- Системы интернет-магазинов: Magento
- Облачное и файловое хранилище: Nextcloud
- Интерфейсы межсетевых экранов: pfSense, OPNsense
Само приложение при этом не обязано быть уязвимым. Уязвимость находится в PHP, поэтому одно лишь обновление WordPress, Nextcloud & Co. не помогает. Необходимо обновить версию PHP на сервере. В межсетевых экранах, таких как pfSense и OPNsense, исправленная версия PHP приходит с соответствующим обновлением прошивки от производителя.
Эти версии PHP безопасны
Уязвимости устранены в следующих версиях. Всё, что ниже, считается уязвимым.
| Ветка PHP | Минимально необходимая | Примечание |
|---|---|---|
| PHP 8.5 | 8.5.12 | актуальная ветка |
| PHP 8.4 | 8.4.27 | |
| PHP 8.3 | 8.3.36 | |
| PHP 8.2 | 8.2.35 | Поддержка заканчивается 31 декабря 2026 года |
| PHP 8.1 и старше | официального обновления нет, см. внизу | |
Как проверить и обновить сервер
1. Определить установленную версию PHP
В командной строке сервера php -v показывает версию PHP для командной строки. Веб-сервер может использовать другую версию PHP. Поэтому проверьте также версию PHP-FPM или модуля Apache, например с помощью php-fpm8.3 -v или через страницу, выводящую phpinfo() (после этого немедленно удалите её).
2. Установить обновление через менеджер пакетов
В Debian, Ubuntu, RHEL и родственных системах исправленная версия приходит через обычный менеджер пакетов, например apt update && apt upgrade или dnf upgrade. В сторонних источниках, таких как Sury PPA или репозиторий Remi, новые пакеты обычно появляются в короткие сроки.
apt changelog php8.3-fpm или rpm -q --changelog php | grep CVE-2026-1096).
3. Перезапустить службу PHP
Одного обновления пакета недостаточно: работающие процессы PHP сохраняют старый код в памяти. Перезапустите PHP-FPM (systemctl restart php8.3-fpm) или Apache (systemctl restart apache2) и затем проверьте, что процессы были запущены после обновления.
4. Размещённые на хостинге сайты
При виртуальном хостинге обновление, как правило, выполняет провайдер. В меню клиента обычно можно задать версию PHP для каждого сайта. Выберите там одну из названных выше безопасных версий или узнайте у провайдера о состоянии патчей. По данным BSI, отдельные провайдеры превентивно отключили серверы от сети. Если ваш сайт ненадолго недоступен, причиной может быть это.
PHP 8.1 и старше: официального обновления нет
Для PHP 8.1 и старше официальных обновлений безопасности больше нет. У операторов таких систем есть два варианта:
- Перейти на поддерживаемую версию (рекомендуется). Чем старше версия, тем больше усилий требует адаптация приложения и расширений, поэтому переход следует предварительно протестировать.
- Перенести исправления в старую версию (backport). Команда безопасности PHP предоставила исправления в ветках разработки на GitHub. Кто компилирует PHP самостоятельно, может перенести эти изменения в более старые версии. Это временное решение, требующее специальных знаний.
PHP 8.2 тоже поддерживается только до 31 декабря 2026 года. Поэтому запланируйте переход на PHP 8.4 или 8.5 уже сейчас и не откладывайте его на рубеж года.
Временные меры и вопрос «отключить сервер от сети?»
Вместе с объявлением команда безопасности PHP описала и временные меры защиты. Они снижают риск, но не закрывают уязвимости полностью. Они не заменяют обновление и предназначены лишь для того, чтобы продержаться до его установки.
Нужно ли до обновления отключать сервер от сети, зависит от его значимости и доступности. BSI указывает, что крупные провайдеры пошли на этот шаг. Практическое правило таково:
- Публично доступный сервер, обновление возможно сейчас: установить исправления немедленно, отключение не требуется.
- Публично доступный сервер, обновление в короткий срок невозможно: ограничить доступ (например, межсетевым экраном только для известных адресов) или временно отключить службу, особенно при
mod_php. - Сервер, доступный только изнутри: установить исправления в ближайшее время, срочность ниже.
Часто задаваемые вопросы
Нужно ли мне обновлять WordPress, Joomla или Nextcloud?
Не из-за этой уязвимости. Она находится в PHP, а не в приложении. Обновите версию PHP на сервере. Обновление самого приложения при этом всё равно имеет смысл.
Как понять, использовал ли кто-то уязвимость уже сейчас?
Дать однозначный ответ сложно. Настораживают неизвестные PHP-файлы в веб-каталоге, необычные процессы под пользователем веб-сервера, новые учётные записи или задания cron и необычный исходящий трафик. При конкретном подозрении систему следует подвергнуть криминалистической проверке, а в случае сомнений — установить заново.
Достаточно ли Web Application Firewall?
Межсетевой экран может перехватывать известные шаблоны атак, но не заменяет обновление. Подробнее о совместной работе нескольких уровней защиты читайте в нашей статье Защита Odoo 19: межсетевой экран, 2FA & Web RBL. Эти принципы применимы к любому веб-приложению.
Затронут ли Odoo?
Нет. Odoo написан на Python и не работает на PHP. Затронуты могут быть только PHP-приложения, работающие на том же сервере.
Где найти официальную информацию?
Объявление команды безопасности PHP вы найдёте в архивах новостей на php.net (запись от 20 октября 2026 г.), а версии — по адресу php.net/downloads. Предупреждение BSI имеет номер 2026-297981-1032 и находится на bsi.bund.de в открытом доступе.
Поддержка от Biricon IT Services
Если вы не уверены, какая версия PHP работает на вашем сервере, или вам нужна помощь с установкой исправлений, мы охотно поможем: с инвентаризацией всех PHP-систем, с установкой обновлений, с переходом на поддерживаемую версию PHP и с проверкой на компрометацию. Как ИТ-поставщик услуг мы обслуживаем серверы, межсетевые экраны и веб-приложения для малых и средних предприятий.
По состоянию на 21 октября 2026 г. Ситуация может быстро измениться; определяющими являются публикации команды безопасности PHP и BSI.