В SELECTOS закрыли две критические уязвимости PHP (PHP2Shell, CVSS 9,2)
В ядре PHP нашли две критические уязвимости с оценкой 9,2 по CVSS 4.0: ошибка обработки нехватки памяти и use-after-free. Вместе они позволяют удалённо выполнять код без аутентификации. Уязвимы версии ниже 8.2.35, 8.3.36, 8.4.27 и 8.5.12. В SELECTOS патчи уже выпущены для Hele и Mega.

Первоисточник: selectel.ru
В ядре интерпретатора PHP обнаружены две критические уязвимости с оценкой 9,2 из 10 по CVSS 4.0. Их эксплуатация позволяет удалённо выполнять произвольный код на сервере без аутентификации. Общее название группы — PHP2Shell. В SELECTOS исправления уже выпущены для обеих версий системы, а обновление остаётся единственным способом полностью закрыть уязвимости.
Что произошло: две критические уязвимости в ядре PHP
Проблемы затрагивают само ядро PHP, поэтому риску подвержены не отдельные приложения, а любые сайты и сервисы на уязвимых версиях. Разработчики PHP опубликовали параметры конфигурации, которые снижают риски отдельных сценариев эксплуатации, но не устраняют уязвимости. Полное закрытие возможно только установкой обновления.
Оценка CVSS 9,2 и суть PHP2Shell
Оценка 9,2 по CVSS 4.0 относит уязвимости к критическому уровню. Атака не требует аутентификации и выполняется удалённо, а результат — выполнение произвольного кода на сервере. Именно сочетание двух ошибок дало общее название PHP2Shell.
CVE-2026-109618: ошибка обработки нехватки памяти (OOM)
Первая уязвимость связана с обработкой ситуации нехватки памяти (OOM). Она может привести к повреждению внутреннего состояния PHP и, как следствие, к выполнению произвольного кода.
CVE-2026-109619: use-after-free и глобальное состояние
Вторая уязвимость — ошибка управления глобальным состоянием, при которой PHP может обратиться к уже освобождённой памяти (use-after-free). Это также создаёт возможность удалённого выполнения кода.
Какие версии PHP уязвимы
Уязвимостям PHP2Shell подвержены все версии PHP ниже указанных в таблице. Если ваша ветка не обновлена до этих релизов, сервер остаётся уязвимым.
| Ветка PHP | Уязвимы версии | Безопасная версия |
|---|---|---|
| PHP 8.2 | ниже 8.2.35 | 8.2.35 |
| PHP 8.3 | ниже 8.3.36 | 8.3.36 |
| PHP 8.4 | ниже 8.4.27 | 8.4.27 |
| PHP 8.5 | ниже 8.5.12 | 8.5.12 |
Кого затрагивает: WordPress, Drupal, OpenCart, 1С-Битрикс, Laravel
- Сайты и приложения на уязвимых версиях PHP.
- Популярные CMS: WordPress, Drupal, OpenCart, 1С-Битрикс.
- Фреймворки, в том числе Laravel.
Почему обновление — единственное решение
Патчи в SELECTOS Hele для PHP 8.3 и 8.4
В SELECTOS Hele исправления выпущены для PHP 8.3 и 8.4. Актуальные патчи доступны в репозиториях. Перед обновлением убедитесь, что настроены репозитории соответствующей версии SELECTOS, и проверьте предложенный APT список изменений.
Патчи в SELECTOS Mega для PHP 8.2
В SELECTOS Mega исправления выпущены для PHP 8.2. Как и в случае с Hele, патчи доступны в репозиториях после настройки репозиториев нужной версии системы.
Пошаговая инструкция: apt update и обновление пакетов PHP
Сначала обновите список доступных пакетов, затем обновите установленные пакеты нужной ветки PHP. Команды с --only-upgrade обновляют установленные пакеты соответствующей ветки без перехода на другую версию.
sudo apt update
# SELECTOS Hele, PHP 8.3
sudo apt install --only-upgrade '*php8.3*'
# SELECTOS Hele, PHP 8.4
sudo apt install --only-upgrade '*php8.4*'
# SELECTOS Mega, PHP 8.2
sudo apt install --only-upgrade '*php8.2*'Если вы устанавливали определённый пакет, достаточно выполнить обновление установленных пакетов. В результате обновятся только установленные версии пакетов без перехода на новую мажорную версию.
sudo apt update
sudo apt upgrade -yПерезапуск служб после обновления
Где найти документацию SELECTOS
Подробная инструкция по применению исправлений приведена в документации SELECTOS. Перед обновлением сверяйтесь с ней и с предложенным APT списком изменений.
Частые ошибки
Какие версии PHP уязвимы для PHP2Shell?
Все версии ниже 8.2.35, 8.3.36, 8.4.27 и 8.5.12.
Достаточно ли изменить конфигурацию PHP вместо обновления?
Нет. Параметры конфигурации снижают риски отдельных сценариев, но закрыть уязвимости позволяет только обновление.
Выпущены ли исправления в SELECTOS?
Да. В SELECTOS Hele — для PHP 8.3 и 8.4, в SELECTOS Mega — для PHP 8.2. Патчи доступны в репозиториях.
Нужно ли перезапускать службы после обновления?
Да, чтобы в памяти не остался старый код, рекомендуется перезапустить службы, использующие PHP.