Разработчики PHP выпустили обновления, устраняющие две критические уязвимости. Они могут позволить злоумышленнику выполнить произвольный код на сервере без авторизации.
Уязвимости обнаружены во внешнем серверном компоненте PHP, а не в коде продуктов «1С-Битрикс». Для защиты сайта или портала необходимо обновить PHP на сервере. Обновление продукта через SiteUpdate не заменяет эту процедуру.
Исправления вошли в PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Установите исправленный выпуск используемой ветки с учётом совместимости вашего проекта. Подробности — в официальном уведомлении PHP.
Передайте эту инструкцию системному администратору, обслуживающему партнёру или хостингу.
Доступность обновлений в репозиториях
Готовые пакеты появляются в разных репозиториях не одновременно. Поэтому обычная проверка обновлений может пока не предложить исправленную версию PHP.
При этом репозиторий remi уже выпустил сборки всех поддерживаемых версий.
Если исправленного пакета нет в вашем репозитории, установите совместимые исправленные пакеты вручную.
Успешное выполнение команды обновления само по себе не подтверждает устранение уязвимостей: необходимо проверить, какая сборка PHP фактически обслуживает сайт.
Порядок обновления BitrixVM 9.x
-
Проверьте резервную копию сайта, базы данных и конфигурации сервера. Проведите проверку совместимости обновления в тестовом окружении.
-
Обновите сведения о пакетах и проверьте доступность исправленной версии PHP в подключённых репозиториях.
-
Установите обновление PHP вместе с необходимыми зависимостями. Если исправленных пакетов в репозитории ещё нет, используйте инструкцию по ручной установке.
-
Для конфигурации с Apache и модулем PHP перезапустите Apache:
systemctl restart httpd.service
5. Убедитесь, что сайт использует исправленную сборку PHP. Проверьте авторизацию, работу CRM, загрузку файлов, почту и интеграции. Если проект работает на нескольких серверах, обновите каждый из них.
Временные меры на период установки обновления
Пока исправления не установлены, необходимо следовать рекомендациям по реализации компенсационных мер опубликованных PHP (https://www.php.net). Это не полная защита, только частичное закрытие рисков.
Для других серверных окружений
Обновите PHP штатным пакетным менеджером либо установите совместимые исправленные пакеты вручную. После установки перезапустите службы, которые исполняют PHP: Apache при использовании mod_php или соответствующие службы PHP-FPM.
Перезапуска одного nginx недостаточно для обновления работающих процессов PHP-FPM.
Для контейнеров
Обновите или пересоберите образ приложения с исправленной версией PHP и необходимыми расширениями. Затем пересоздайте контейнеры штатным способом, сохранив конфигурацию и подключённые тома.
Перед удалением старых контейнеров проверьте сохранность данных: файлы в записываемом слое контейнера удаляются вместе с ним. Подробнее — в документации Docker.
После развёртывания проверьте версию PHP в работающем приложении и основные функции сайта или портала.
Если используется PHP 7.4, 8.0 или 8.1
Команда PHP должн предоставила исправления исходного кода для этих веток. Доступность готовых пакетов нужно уточнять у поставщика. Согласуйте с администратором установку подтверждённой исправленной сборки или переход на поддерживаемую версию PHP.
ссылка на оригинал статьи https://habr.com/ru/articles/1097474/