Перейти к основному содержимому

Патч для модуля «МойСклад: Гибкий обмен заказами по API»

Актуальность патча

Патч актуален, если ваша версия модуля ниже 3.2.0

Патч безопасности для модуля rbs.moysklad. Применяется, если у вас не активна поддержка и нет возможности обновить модуль до актуальной версии целиком. При активной поддержке достаточно просто обновить модуль — все исправления уже включены в новые версии.

Скачать патч

🔗 Скачать патч (Яндекс.Диск)

Реальное имя файла — z_ms_orders_patch.php. Имя файла можно оставить как есть или переименовать по своему усмотрению — на работу патча это не влияет.

Как применить патч

  1. Загрузите файл патча в корень сайта. Это можно сделать через файловый менеджер в админке «1С-Битрикс» или по FTP. Файл должен лежать в корневой папке сайта (там же, где находится папка /bitrix/).
  2. Откройте файл в браузере по адресу вашего сайта, например:
    https://ваш-сайт/z_ms_orders_patch.php
    Если вы переименовали файл — используйте новое имя в адресе.
  3. Авторизуйтесь под администратором сайта. Патч доступен только администратору; всем остальным он отдаёт 403 Forbidden и ничего не выполняет.
  4. Просмотрите отчёт (предпросмотр). Откроется страница со списком исправлений и их статусом — что будет применено, что уже исправлено, а что неприменимо к вашей версии. На этом этапе файлы ещё не меняются.
  5. Нажмите «Применить». Патч создаст резервную копию изменяемых файлов и внесёт правки.
  6. Удалите файл патча с сайта после применения. После того как вы убедитесь, что модуль работает корректно, можно удалить и папку с резервной копией.
подсказка

Реальный путь к файлу легко построить из имени z_ms_orders_patch.php: например https://ваш-сайт/z_ms_orders_patch.php. Если файл загружен в подпапку — укажите её в адресе.

Что делает патч

Патч — это самостоятельный PHP-скрипт с веб-интерфейсом, который безопасно накатывает исправления безопасности на уже установленный модуль. Основные принципы его работы:

  • Доступ только администратору. Скрипт поднимает ядро «1С-Битрикс» и проверяет права; для неавторизованных и не-администраторов возвращается 403.
  • Предпросмотр по умолчанию (dry-run). При открытии файлы не изменяются — сначала показывается отчёт. Запись происходит только после нажатия кнопки «Применить».
  • Правки по сигнатуре кода. Исправления ищутся по фрагментам уязвимого кода, а не по версии файла, поэтому патч работает на разных версиях модуля.
  • Идемпотентность. Каждое правило умеет распознать уже применённое исправление и пропустить его. Повторный запуск безопасен.
  • Признак применимости. Если в вашей версии нужного участка кода нет, правило помечается как «неприменимо» и ничего не трогает.
  • Резервная копия и откат. Перед записью каждый изменяемый файл копируется в отдельную папку бэкапа. На странице есть кнопка «Откатить последний бэкап», которая восстанавливает файлы.
  • Атомарные группы. Связанные правки применяются только комплектом — если найден не весь набор, группа целиком пропускается, чтобы не сломать рабочие сценарии (например, «Разовый импорт» или «Бэкап»).

Какие исправления входят в патч

Патч закрывает ряд проблем безопасности в модуле, в том числе:

  • защита чтения и записи лог-файлов от выхода за пределы каталога (path traversal);
  • сравнение соли веб-хука в постоянном времени и явный отказ при пустой соли;
  • проверка прав и CSRF-токена (sessid) для AJAX- и диагностических действий, операций бэкапа и запуска процессов;
  • ограничение запускаемых процессов белым списком реальных файлов;
  • экранирование выводимых данных в формах и скриптах (защита от XSS);
  • исключение служебного license-хеша из лога модуля.
примечание

Подробное техническое описание каждого исправления не требуется для применения патча — достаточно выполнить шаги выше. Скрипт сам определит, что нужно применить именно в вашей версии.

Остались вопросы?

📧 support@despi.ru