Критическое обновление PHP: инструкция для владельцев коробочного Битрикс24 и сайтов на «1С-Битрикс: Управление сайтом»

1 час назад 3

Разработчики 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

  1. Проверьте резервную копию сайта, базы данных и конфигурации сервера. Проведите проверку совместимости обновления в тестовом окружении.

  2. Обновите сведения о пакетах и проверьте доступность исправленной версии PHP в подключённых репозиториях.

  3. Установите обновление PHP вместе с необходимыми зависимостями. Если исправленных пакетов в репозитории ещё нет, используйте инструкцию по ручной установке.

  4. Для конфигурации с Apache и модулем PHP перезапустите Apache:

systemctl restart httpd.service

5. Убедитесь, что сайт использует исправленную сборку PHP. Проверьте авторизацию, работу CRM, загрузку файлов, почту и интеграции. Если проект работает на нескольких серверах, обновите каждый из них.

Временные меры на период установки обновления

Пока исправления не установлены, можно снизить риск отдельных вариантов атаки, отключив механизм отслеживания загрузки файлов:

session.upload_progress.enabled = Off

Для BitrixVM 9.x добавьте настройку в /etc/php.d/z_bx_custom.ini — файл пользовательских настроек, предусмотренный документацией BitrixVM. Затем перезапустите процессы, исполняющие PHP, и проверьте применение настройки.

Эта мера не закрывает обе уязвимости полностью и не заменяет обновление PHP. Дополнительные временные меры описаны в рекомендациях разработчиков PHP. Если оперативная установка исправлений невозможна, вместе с администратором рассмотрите временное ограничение доступа к системе из интернета.

Для других серверных окружений

Обновите PHP штатным пакетным менеджером либо установите совместимые исправленные пакеты вручную. После установки перезапустите службы, которые исполняют PHP: Apache при использовании mod_php или соответствующие службы PHP-FPM.

Перезапуска одного nginx недостаточно для обновления работающих процессов PHP-FPM.

Для контейнеров

Обновите или пересоберите образ приложения с исправленной версией PHP и необходимыми расширениями. Затем пересоздайте контейнеры штатным способом, сохранив конфигурацию и подключённые тома.

Перед удалением старых контейнеров проверьте сохранность данных: файлы в записываемом слое контейнера удаляются вместе с ним. Подробнее — в документации Docker.

После развёртывания проверьте версию PHP в работающем приложении и основные функции сайта или портала.

Если используется PHP 7.4, 8.0 или 8.1

Команда PHP должн предоставила исправления исходного кода для этих веток. Доступность готовых пакетов нужно уточнять у поставщика. Согласуйте с администратором установку подтверждённой исправленной сборки или переход на поддерживаемую версию PHP.

Источник