Критическая SQL-инъекция CVE-2025-25257 в FortiWeb Fabric Connector

Источник: labs.watchtowr.com
Специалисты по кибербезопасности выявили критическую уязвимость CVE-2025-25257 в FortiWeb Fabric Connector, позволяющую злоумышленникам осуществлять SQL-инъекции перед аутентификацией. Эта уязвимость становится отправной точкой для проведения более сложных атак, включая удаленное выполнение команд (RCE), что ставит под угрозу безопасность корпоративных систем.
Механизм уязвимости и её особенности
Ключевой проблемой является функция get_fabric_user_by_token, которая внедряет данные, контролируемые пользователем, прямо в SQL-запрос к базе MySQL. В частности, ввод передается через заголовок Authorization, что открывает возможность для классических SQL-инъекций, например, с использованием конструкции OR 1=1.
Основные моменты уязвимости:
- SQL-инъекции возможны до прохождения аутентификации;
- использование MySQL-инструкции
INTO OUTFILEпозволяет потенциально записывать файлы на сервер; - эта команда пишет файлы с привилегиями процесса MySQL, чаще всего под пользователем
mysql; - операция
INTO OUTFILEтребует, чтобы файл не существовал заранее, что создает ограничение для атаки.
Обход ограничений и путь к удаленному выполнению кода (RCE)
Несмотря на существенное ограничение, злоумышленники могут использовать уязвимость следующим образом:
- В каталоге
cgi-binсервера Apache может существовать файл Python, который запускается как CGI-скрипт. - Анализ shebang-строки этого скрипта показывает, что Python-исполняемый файл располагается по пути
/bin/python. - Такой подход позволяет использовать возможности Python в инфраструктуре сайта, включая вставку произвольных путей в
sys.path— путь поиска модулей Python. - Создавая специально подготовленный файл с расширением
.pth(файл, запускающий выполнение встроенного Python-кода), злоумышленник может добиться выполнения произвольных команд.
Технические сложности и их решения
В MySQL отсутствует поддержка относительных путей и перехода к исходящим файлам, что усложняет прямую запись и выполнение вредоносного кода. Однако злоумышленники используют следующие техники обхода:
- Использование функции
UNHEX()для хранения полезных данных в базе в виде фрагментов, распределённых по нескольким столбцам. - Дальнейшее извлечение и объединение этих данных помогает обойти запрет на запись в уже существующие файлы.
- Запись данных осуществляется в файловую систему в контексте рабочего каталога процесса MySQL, что позволяет косвенно создавать вредоносные скрипты для интерпретатора Python.
Заключение
Обнаруженная уязвимость CVE-2025-25257 демонстрирует, как сочетание SQL-инъекций и особенностей работы серверного ПО может привести к критическим последствиям — включая удалённое выполнение кода с возможностью обойти стандартные ограничения безопасности. Особое внимание следует уделить защите заголовков HTTP, фильтрации и безопасному формированию запросов к базе данных, а также контролю доступа к файловой системе в рамках web-серверов и интерпретаторов скриптов.
Рекомендуется срочно обновить FortiWeb Fabric Connector и провести аудит систем на предмет использования уязвимых версий.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


