Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-35616 — Инструментарий обнаружения для CVE-2026-35616 — обхода API без аутентификации в FortiClient EMS. Включает сканер на Python и Nmap NSE-скрипт для выявления уязвимых версий и предоставления рекомендаций по устранению. | Kitploit
Инструменты/GitHubGitHub/keraattin/cve-2026-35616
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьСетевая безопасностьТестирование на ПроникновениеАутентификация
GitHubkeraattin/cve-2026-35616

CVE-2026-35616

Инструментарий обнаружения для CVE-2026-35616 — обхода API без аутентификации в FortiClient EMS. Включает сканер на Python и Nmap NSE-скрипт для выявления уязвимых версий и предоставления рекомендаций по устранению.

12175 месяцев назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-35616 - Обход аутентификации API FortiClient EMS до выполнения произвольного кода (RCE)

CVE-2026-35616 CVSS 9.1 CISA KEV CWE-284

TL;DR

Критический обход аутентификации в Fortinet FortiClient EMS 7.4.5 и 7.4.6 позволяет полностью неаутентифицированному удалённому злоумышленнику обойти аутентификацию API, подделав один HTTP-заголовок (X-SSL-CLIENT-VERIFY). Уязвимость существует из-за того, что промежуточное ПО Django доверяет метаданным клиентского сертификата из управляемых пользователем заголовков, а не только доверенному обратному прокси. Это даёт злоумышленникам полный административный доступ к API — а оттуда и возможность выполнения произвольного кода на управляемых конечных точках по всему предприятию.

Активно эксплуатируется с 31 марта 2026 года. Добавлена в каталог CISA KEV 6 апреля 2026 года.


Содержание

  • Краткие факты
  • Что такое FortiClient EMS?
  • Глубокий анализ уязвимости
    • Архитектура
    • Где происходит сбой
    • Схема атаки
  • Анализ воздействия
  • Затронутые версии
  • Хронология эксплуатации
  • Обнаружение
    • Сканер на Python
    • NSE-скрипт Nmap
    • Ручная проверка
  • Индикаторы компрометации
  • Устранение
  • Ссылки
  • Автор

Краткие факты

ПолеДетали
ID CVECVE-2026-35616
ПроизводительFortinet
ПродуктFortiClient Enterprise Management Server (EMS)
Затронутые версии7.4.5, 7.4.6
Не затронутыветка 7.2.x, 7.4.4 и более ранние
CVSS v3.19.1 (Критический)
CWECWE-284 - Некорректный контроль доступа
Вектор атакиСеть
АутентификацияНе требуется
Взаимодействие с пользователемНет
Зрелость эксплойтаЭксплуатируется в дикой природе
CISA KEVДобавлена 6 апреля 2026 года (крайний срок: 9 апреля 2026 года)
ПатчГорячий фикс доступен; полное исправление в 7.4.7
Авторы обнаруженияСимо Кохонен (Defused Cyber), Нгуен Дык Ань

Что такое FortiClient EMS?

FortiClient Enterprise Management Server (EMS) — это централизованная платформа управления конечными точками от Fortinet. Она служит уровнем управления и контроля (C2) для развёртывания, настройки и мониторинга агентов FortiClient в организации. Представьте её как мозг, который управляет каждой конечной точкой в среде под управлением Fortinet:

  • Распространяет политики безопасности и профили VPN на конечные точки
  • Управляет соответствием конечных точек и проверками состояния
  • Распространяет обновления программного обеспечения и патчи
  • Интегрируется с межсетевыми экранами FortiGate для Zero Trust Network Access (ZTNA)
  • Хранит и управляет телеметрией конечных точек, сертификатами и учётными данными

Когда злоумышленник получает административный доступ к EMS, он фактически получает ключи от каждой управляемой конечной точки в организации.


Глубокий анализ уязвимости

Архитектура

FortiClient EMS использует довольно стандартный стек веб-приложений за кулисами:

+----------------+          +----------------+          +----------------+
|   Браузер /    |  HTTPS   |    Apache      |   WSGI   |    Django      |
|   API-клиент   | -------> |   (mod_ssl)    | -------> |    Бэкенд      |
+----------------+          +----------------+          +----------------+

Когда настроен взаимный TLS (mTLS), модуль mod_ssl Apache обрабатывает проверку клиентского сертификата. После проверки сертификата Apache передаёт результат проверки в Django через доверенные переменные окружения WSGI:

  • SSL_CLIENT_VERIFY — статус проверки (SUCCESS, NONE, FAILED)
  • SSL_CLIENT_S_DN — Subject Distinguished Name из сертификата
  • SSL_CLIENT_SERIAL — серийный номер сертификата

Это стандартный и безопасный подход. Проблема в том, как промежуточное ПО Django считывает эти данные.

Где происходит сбой

В FortiClient EMS 7.4.5 и 7.4.6 промежуточное ПО аутентификации Django было изменено, чтобы также принимать эту же информацию из HTTP-заголовков запроса:

  • X-SSL-CLIENT-VERIFY
  • X-SSL-CLIENT-S-DN
  • X-SSL-CLIENT-SERIAL

Вероятно, это было добавлено для поддержки развёртываний с обратным прокси, где Apache не является точкой завершения TLS. Однако промежуточное ПО не различает эти два источника. Оно сначала проверяет переменные WSGI, но если они отсутствуют (mTLS не настроен или прямое соединение), оно переключается на HTTP-заголовки — которые может установить любой клиент.

Вот концептуальная схема:

БЕЗОПАСНЫЙ ПУТЬ (предполагаемый):
  Apache mod_ssl проверяет сертификат --> устанавливает переменные окружения WSGI --> Django считывает переменные окружения  [ОК]

НЕБЕЗОПАСНЫЙ ПУТЬ (уязвимость):
  Злоумышленник напрямую устанавливает HTTP-заголовки --> Django считывает заголовки --> Доверяет им  [СБОЙ]

Промежуточное ПО фактически доверяет клиенту самостоятельно подтверждать статус проверки собственного сертификата. Это как если бы вышибала спросил кого-то: «Эй, тебя уже проверил другой вышибала?» — и впустил его, когда тот ответил «да».

Схема атаки

Шаг 1: Злоумышленник отправляет POST-запрос к конечной точке API EMS
        со следующими заголовками:
        
        X-SSL-CLIENT-VERIFY: SUCCESS
        X-SSL-CLIENT-S-DN: CN=admin
        X-SSL-CLIENT-SERIAL: 0000000000000001

Шаг 2: Промежуточное ПО Django проверяет переменные окружения WSGI → отсутствуют
        Переключается на HTTP-заголовки → находит X-SSL-CLIENT-VERIFY: SUCCESS

Шаг 3: Промежуточное ПО обрабатывает запрос как аутентифицированный с правами администратора

Шаг 4: Злоумышленник получает полный административный доступ к API

Шаг 5: Через административный API злоумышленник может:
        - Распространять вредоносные политики на все управляемые конечные точки
        - Извлекать сохранённые учётные данные и сертификаты
        - Развёртывать полезные нагрузки через систему распространения ПО
        - Изменять конфигурации ZTNA
        - Перемещаться в более широкую сеть

Вся атака требует одного HTTP-запроса. Никакого перебора, подбора учётных данных или социальной инженерии. Просто один подделанный заголовок.


Анализ воздействия

Серьёзность здесь выходит за рамки самого сервера. FortiClient EMS — это мультипликатор силы: его компрометация даёт злоумышленнику рычаги воздействия на каждую управляемую конечную точку:

Непосредственное воздействие:

  • Полный административный контроль над консолью EMS
  • Доступ ко всем сохранённым конфигурациям конечных точек, учётным данным и сертификатам
  • Возможность чтения/изменения/удаления политик конечных точек
  • Доступ к конфигурациям VPN и настройкам ZTNA

Каскадное воздействие (через управляемые конечные точки):

  • Развёртывание вредоносного ПО на всех управляемых устройствах через систему распространения ПО
  • Сбор учётных данных из телеметрии конечных точек
  • Отключение или ослабление средств безопасности на всех управляемых конечных точках
  • Боковое перемещение через манипуляцию конфигурациями VPN/ZTNA
  • Постоянный бэкдор-доступ через доставку полезных нагрузок на основе политик
Скачать инструмент