Fortinet закрыла сразу несколько уязвимостей в своей линейке продуктов: от операционной системы FortiOS до систем управления политиками, мониторинга и анализа событий. Две из них дают злоумышленнику путь к веб-интерфейсам без учётных данных. В результате под угрозой оказываются конфигурации, журналы и служебная информация, которые накапливают эти системы. Затронуты организации, построившие защиту периметра и управление доступом на оборудовании Fortinet: промышленность, операторы связи, финансовый сектор и государственные структуры. Публичных сведений об эксплуатации этих уязвимостей в реальных атаках на момент раскрытия данных нет.
Детали уязвимостей
Самый высокий балл по шкале CVSS (общая система оценки опасности уязвимостей) получила ошибка в веб-портале FortiMonitor OnSight. В исходном коде оказался статический ключ, которым подписываются JWT (токены, подтверждающие личность пользователя). Поэтому злоумышленник может подделать такой токен или повторно использовать уже перехваченный. Проверка входа после этого не срабатывает. Учётная запись не нужна, взаимодействие с пользователем не требуется, атака идёт по сети. Оценка - 9,6 из 10. Исправлены версии начиная с 7.2.8.
Похожая по смыслу уязвимость затронула FortiSandbox. Здесь ошибка в разграничении доступа в веб-интерфейсе позволяет неаутентифицированному злоумышленнику отправлять специально составленные HTTP-запросы и получать доступ к чувствительной информации. Оценка - 8,9. Проблема касается ветвей 4.4 и 5.0, а также облачных вариантов FortiSandbox Cloud и FortiSandbox PaaS. Ветка 5.2 и часть облачных сборок под неё не подпадают.
В том же продукте нашлась вторая проблема, уже другого класса. Механизм удалённого резервного копирования оказался подвержен внедрению команд: злоумышленник с повышенными правами может через веб-запросы заставить устройство выполнить произвольный код. Оценка - 6,7. Итог для организации предсказуем: исполнение постороннего кода на узле, который проверяет подозрительные файлы, обесценивает саму идею изолированного анализа. Исправления вышли для версий 5.2.1, 5.0.7 и 4.4.10.
Отдельного внимания заслуживает FortiSOAR, платформа для автоматизации реагирования на инциденты. Ошибка разграничения доступа в потоках websocket (постоянных каналах обмена данными между браузером и сервером) позволяет учётной записи вообще без прав подписываться на служебные темы и внедрять в поток собственные широковещательные сообщения. Тем самым подменяются данные, которые видят операторы в панели управления. Оценка - 4,9; закрыто в ветках 7.5.4 и 7.6.7, для более старых выпусков предлагается переход на поддерживаемую версию.
Драйвер fortimon3 в FortiClient для Windows не проверяет принадлежность отправителя запроса. В результате пользователь с учётной записью может завершать произвольные процессы через открытый канал обмена с мини-фильтром драйвера. Оценка - 4,7, исправление в 7.4.8. В FortiManager, в свою очередь, нашлась уязвимость обхода согласования: администратор способен не проводить сессию рабочего процесса через обязательное утверждение. Оценка - 4,7, закрыто в 7.6.5 и 7.4.11.
FortiAnalyzer пострадала в службе SNMP (протоколе сетевого управления). Обращение к неинициализированной переменной при обработке запросов GETBULK приводит к отказу в обслуживании. Оценка - 5,9, исправление в 7.6.7. Если протокол не используется, его проще отключить. В FortiOS, FortiProxy и FortiPAM аналогичная по последствиям ошибка вызывает аварийное завершение служебного процесса, обслуживающего веб-интерфейс: злоумышленнику с учётной записью достаточно отправленного запроса. Оценка - 2,5.
Наконец, портал ZTNA (архитектура доступа без постоянного подключения к корпоративной сети) в FortiOS и FortiProxy неверно проверяет сертификат. На этом строится атака "человек посередине" на канал между порталом и внутренним сайтом, к которому пользователь получает доступ. Оценка - 7,3, закрыто в 7.6.7 для обеих платформ. В FortiSIEM обнаружили открытую переадресацию: специально составленный запрос уводит пользователя на посторонний сайт. Оценка - 2,8.
Разброс оценок здесь не должен вводить в заблуждение. Устройства и системы Fortinet стоят на границе сети, хранят правила фильтрации, ключи и учётные данные администраторов. Поэтому уязвимость со средним баллом на таком узле даёт злоумышленнику заметно больше, чем высокий балл в прикладной программе. Пока исправления не применены, единственной преградой остаются ограничения доступа к самим интерфейсам управления.
Практические шаги выглядят так: перевести продукты на исправленные сборки; для веток, где исправлений уже не будет, запланировать переход на поддерживаемый выпуск; закрыть веб-интерфейсы управления от внешней сети и пускать к ним только доверенные адреса; отключить SNMP, если он не нужен; проверить журналы входов и изменений конфигурации за последние недели. Для FortiSOAR и FortiMonitor OnSight стоит дополнительно убедиться, что обновление действительно установилось, а не только было загружено.
Ошибки в разграничении доступа и проверке сертификатов снова оказываются в устройствах, которые сами призваны защищать инфраструктуру. Средства защиты остаются для атакующих удобной точкой опоры внутри сети, и отставание с установкой исправлений превращает эту точку в открытую.
Ссылки
- https://fortiguard.fortinet.com/psirt/FG-IR-26-164
- https://fortiguard.fortinet.com/psirt/FG-IR-26-165
- https://fortiguard.fortinet.com/psirt/FG-IR-26-166
- https://fortiguard.fortinet.com/psirt/FG-IR-26-167
- https://fortiguard.fortinet.com/psirt/FG-IR-26-169
- https://fortiguard.fortinet.com/psirt/FG-IR-26-170
- https://fortiguard.fortinet.com/psirt/FG-IR-26-171
- https://fortiguard.fortinet.com/psirt/FG-IR-26-172
- https://fortiguard.fortinet.com/psirt/FG-IR-26-173
- https://fortiguard.fortinet.com/psirt/FG-IR-26-174