В Fortinet FortiSIEM обнаружили критическую уязвимость CVE-2026-106173 с оценкой 9,4 по шкале CVSS. Исследователи опубликовали доказательство концепции (PoC) для уже исправленной ошибки. Она позволяет злоумышленнику без учётной записи записывать произвольные файлы, а при определённых условиях — добиться удалённого выполнения кода.

Атака начинается с подключения к gRPC-службе FortiSIEM через TCP-порт 27918. Уязвимый обработчик
В значение
Для обхода этого ограничения используется нулевой байт
Файл
описала атаку как сочетание обхода пути через
Главный инженер по атакам Зак Хэнли пояснил, что при записи поверх существующего файла его владелец и права доступа сохраняются. Он также описал второй вариант атаки: два запроса позволяют создать новый файл с заданным точным именем.
В сведениях о версиях указаны строки «5.0 (обновить до 7.5.1 или выше)» и «FortiSIEM 7.6 (не затронут)». При этом для строки с версией 5.0 не уточняется, к какому именно диапазону продукта она относится. Конкретные даты исправления уязвимости и публикации PoC также не названы.

Изображение носит иллюстративный характер
Атака начинается с подключения к gRPC-службе FortiSIEM через TCP-порт 27918. Уязвимый обработчик
QueryResultReq принимает метаданные без надлежащей проверки пути. В функции SendQueryResult() пользовательский параметр query-id передаётся дальше с недостаточной валидацией. В значение
query-id можно поместить последовательности ../, чтобы вывести путь за пределы предназначенного каталога. Но одного обхода каталогов недостаточно: приложение само добавляет к пути имя файла в формате result-<IP-адрес источника>-0-0-<id>.dat. Значение <id> задаёт сервер, поэтому атакующий не может выбрать окончательное имя обычным обходом пути. Для обхода этого ограничения используется нулевой байт
\0. При передаче пути функции открытия файла операционная система воспринимает его как конец строки и игнорирует добавленный приложением суффикс. В результате запись можно направить в конкретный файл. В качестве примера исследователи приводят путь ../../../../../opt/charting/redishb.sh\0.... Файл
redishb.sh выполняет проверки состояния Redis. Его запускает cron-задача раз в 60 секунд. Если заменить содержимое скрипта, очередной запуск может исполнить внесённые злоумышленником команды. Так ошибка произвольной записи файла превращается в удалённое выполнение кода. описала атаку как сочетание обхода пути через
../ и внедрения нулевого байта в метаданные gRPC. По данным исследователей, для этого используются уровни кодирования HTTP/2 и HPACK. Результат — возможность записывать произвольные файлы в файловую систему устройства. Главный инженер по атакам Зак Хэнли пояснил, что при записи поверх существующего файла его владелец и права доступа сохраняются. Он также описал второй вариант атаки: два запроса позволяют создать новый файл с заданным точным именем.
В сведениях о версиях указаны строки «5.0 (обновить до 7.5.1 или выше)» и «FortiSIEM 7.6 (не затронут)». При этом для строки с версией 5.0 не уточняется, к какому именно диапазону продукта она относится. Конкретные даты исправления уязвимости и публикации PoC также не названы.