Обработчик запросов gRPC (удалённый вызов процедур) в FortiSIEM от Fortinet не проверяет имя файла, которое приходит в запросе. Из-за этого удалённый пользователь без учётной записи может записать на сервер произвольный файл и выполнить собственный код. Проблема затрагивает линейку FortiSIEM по ветку 7.5 включительно, а облачная редакция FortiSIEM Cloud ей не подвержена. Производитель подтвердил уязвимость и выпустил исправление.
Как работает обход пути в обработчике gRPC
Обход пути (path traversal) - приём, при котором вместо обычного имени файла подставляют последовательности перехода вверх по дереву каталогов. Обработчик берёт такие данные из служебных заголовков запроса и не отсекает их. Дополнительно к ним добавляется нулевой байт - символ, который обрывает проверку имени и прячет остаток строки. В итоге файл записывается вне разрешённого каталога, хотя система считает путь допустимым.
Сама по себе запись файла не даёт выполнения кода. Поэтому злоумышленник выбирает целью файлы, которые сервер запускает сам, - например, сценарий, вызываемый планировщиком заданий. После очередного запуска в дело идёт подменённый код. Работа идёт вслепую: вывод команды атакующий не видит, а срабатывание занимает до минуты. Такую цепочку описывает публичная демонстрация уязвимости.
Условия атаки простые. Атака идёт по сети, учётные данные не требуются, участие пользователя тоже. Сложность эксплуатации вендор оценивает как низкую. Ущерб по конфиденциальности, целостности и доступности в оценке высокий. FortiSIEM отвечает за сбор и обработку событий безопасности, так что под вопросом оказываются и накопленные системой данные, и её работоспособность.
Банк данных угроз безопасности информации (BDU) описывает проблему под номером BDU:2026-17286. Реестр относит опасность к критическому уровню, а базовая оценка по версии 3.1 системы CVSS (общая система оценки уязвимостей) составляет 9,8 из 10. Там же указан способ эксплуатации - манипулирование ресурсами. Второй идентификатор этой записи - CVE-2026-106173.
Fortinet приводит в уведомлении другую оценку - 9,4 из 10 по той же версии CVSS. Расхождение с реестром небольшое, обе величины относятся к критическому уровню. Сведений о реальных атаках нет: вендор отмечает, что известных случаев эксплуатации не зафиксировано. При этом рабочий эксплойт (программа, использующая уязвимость) опубликован в открытом доступе. Его выложила исследовательская группа Horizon3.ai. Публикация демонстрационного кода означает, что техника атаки описана, но не то, что её уже применяют. Сам Fortinet сообщает, что уязвимость нашли внутри компании, силами группы продуктовой безопасности.
Исправление вышло в версии 7.5.1: вендор предлагает обновиться до неё или до более позднего выпуска. Ветка 7.6 уязвимости уже не содержит. Запись CVE относит к затронутым и более старые ветки - от 7.0 до 7.4, однако исправленных выпусков для них в уведомлении нет. Если обновление отложено, остаётся ограничить доступ к TCP-порту 27918, который слушает обработчик gRPC. Виртуального патча вендор не выпустил.
Для облачной редакции вопрос закрыт: FortiSIEM Cloud не подвержена уязвимости. По словам вендора, ограничение доступа к порту 27918 устраняет проблему, и это самая быстрая мера до установки обновления. Других обходных мер в уведомлении не приведено.
Для администратора существенны два обстоятельства: проверка подлинности для атаки не нужна, а сам обработчик открыт по сетевому порту. Обновление до 7.5.1 закрывает проблему полностью. До его установки доступ к порту 27918 закрывают на межсетевом экране.
Ссылки