CVE-2023-48788
Fortinet FortiClient EMS
2024-03-25
Fortinet FortiClient EMS contains a SQL injection vulnerability that allows an unauthenticated attacker to execute commands as SYSTEM via specifically crafted requests.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-48788 представляет собой критическую уязвимость типа SQL Injection (SQLi) в компоненте FortiClient Endpoint Management Server (EMS). Проблема возникает из-за недостаточной фильтрации входных данных в запросах, обрабатываемых сервисом FCTAdvisory.exe.
Поскольку база данных FortiClient EMS (Microsoft SQL Server) по умолчанию настроена с включенной функцией xp_cmdshell, неавторизованный удаленный злоумышленник может через специально сформированный запрос выполнить произвольные SQL-команды. Это приводит к возможности удаленного выполнения кода (RCE) с правами системы (SYSTEM), что позволяет полностью скомпрометировать сервер.
Как исправить
Основным и рекомендуемым способом устранения уязвимости является обновление FortiClient EMS до версий, в которых данная ошибка исправлена.
- Определите текущую версию вашего ПО.
- Скачайте соответствующий патч с портала поддержки Fortinet (support.fortinet.com).
-
Установите обновление для вашей ветки версии:
-
Если вы используете ветку 7.2: обновитесь до версии 7.2.3 или выше.
- Если вы используете ветку 7.0: обновитесь до версии 7.0.11 или выше.
Временные меры
Если немедленное обновление невозможно, необходимо применить компенсирующие меры контроля для снижения риска эксплуатации.
1. Отключение функции xp_cmdshell в MS SQL Server Это предотвратит выполнение системных команд через SQL-инъекцию. Выполните следующий скрипт в контексте базы данных EMS:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0;
RECONFIGURE;
2. Использование систем обнаружения и предотвращения вторжений (IDS/IPS) Если перед EMS установлен FortiGate, активируйте сигнатуру IPS для блокировки попыток эксплуатации. В консоли FortiOS выполните:
config ips sensor
edit "your_ips_profile"
config entries
edit 0
set action block
set application all
set location all
set packet-log enable
set os all
set protocol all
set signature 54433
set status enable
next
end
next
end
3. Ограничение сетевого доступа Минимизируйте поверхность атаки, ограничив доступ к портам управления FortiClient EMS (по умолчанию TCP/8013) только для доверенных IP-адресов или сегментов сети.
4. Мониторинг логов
Проверяйте логи MS SQL Server на предмет подозрительных вызовов xp_cmdshell и логи FCTAdvisory.exe на наличие аномальных SQL-запросов.