Bitrix excel RCE
Описание уязвимости
21 марта стало известно о новой RCE уязвимости в модулях Bitrix. (BDU:2025-03006) В этот раз под раздачу попали плагины “Экспорт/Импорт товаров в Excel”. Уязвимость оценили на 8.8/10 баллов по CVSS 3.0.
Причем RCE подвержены сразу 6 модулей, а именно:
- Импорт из Excel – версии от 2.4.7 до 2.8.9
- Экспорт в Excel – версии от 0.8.2 до 1.2.2
- Экспорт/Импорт товаров в Excel – версии от 2.4.7 до 2.8.9
- Импорт из XML и YML – версии от 0.6.8 до 1.1.6
- Массовая обработка элементов инфоблока – версии от 0.5.9 до 0.7.7
- Многофункциональный экспорт/импорт в Excel – версии от 0.2.2 до 0.4.8
Cуммарно все эти модули были установлены более 6000 раз, что значительно увеличвает поверхность атаки.
Список уязвимых эндпоинтов:
/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
/tmp_patcher911.php
Nuclei Checker
Для того, чтобы оперативно узнать, использует ли целевое веб-приложение уязвимые модули, был написан небольшой чекер под nuclei:
id: bitrix-esol-excel-rce
info:
name: Bitrix Esol Excel RCE search
author: train
severity: critical
description: Поиск потенциальных точек RCE в модулях импорта/экспорта Bitrix
tags: bitrix,exposure,cron
requests:
– method: GET
path:
– “{{BaseURL}}/bitrix/modules/kda.importexcel/admin/iblock_import_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/modules/kda.exportexcel/admin/iblock_export_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/modules/esol.importexportexcel/admin/iblock_import_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/modules/esol.importexportexcel/admin/iblock_export_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/modules/esol.importxml/admin/import_xml_cron_settings.php”
– “{{BaseURL}}/bitrix/modules/esol.massedit/admin/profile.php”
– “{{BaseURL}}/bitrix/modules/esol.allimportexport/admin/cron_settings.php”
– “{{BaseURL}}/bitrix/admin/esol_massedit_profile.php”
– “{{BaseURL}}/bitrix/admin/kda_export_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/admin/esol_allimportexport_cron_settings.php”
– “{{BaseURL}}/bitrix/admin/kda_import_excel_cron_settings.php”
– “{{BaseURL}}/bitrix/admin/esol_export_xml_cron_settings.php”
– “{{BaseURL}}/bitrix/admin/esol_import_xml_cron_settings.php”
matchers-condition: and
matchers:
– type: status
status:
– 200
– type: word
part: body
words:
– “404”
– “Not found”
– “Авторизация”
– “Не найдено”
negative: true
– type: dsl
dsl:
– “len(body) > 1”