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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-35616-check — Неразрушающий сканер для CVE-2026-35616 — обхода API без аутентификации в FortiClient EMS. Обнаруживает уязвимость, сравнивая HTTP-ответы с подделанными SSL-заголовками и без них, используя только стандартную библиотеку Python. | Kitploit
Инструменты/GitHubGitHub/bishopfox/cve-2026-35616-check
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование безопасности APIТестирование на ПроникновениеАутентификация
GitHubbishopfox/cve-2026-35616-check

CVE-2026-35616-check

Неразрушающий сканер для CVE-2026-35616 — обхода API без аутентификации в FortiClient EMS. Обнаруживает уязвимость, сравнивая HTTP-ответы с подделанными SSL-заголовками и без них, используя только стандартную библиотеку Python.

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

Популярное

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

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

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

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

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

Инструмент оценки уязвимости CVE-2026-35616

Безопасно определяет, уязвим ли сервер FortiClient EMS к CVE-2026-35616, не вызывая сбоев в работе. См. полный технический разбор в блоге Bishop Fox.

Описание

CVE-2026-35616 — это обход API без предварительной аутентификации в FortiClient EMS 7.4.5 и 7.4.6, который позволяет удалённым неаутентифицированным злоумышленникам обходить аутентификацию на основе сертификатов с помощью подделки HTTP-заголовков. Приложение Django доверяет управляемым пользователем HTTP-заголовкам (X-SSL-CLIENT-VERIFY, X-SSL-CLIENT-CERT) как переменным окружения WSGI от Apache mod_ssl, а конфигурация Apache никогда их не удаляет. В сочетании с проверкой цепочки сертификатов, которая выполняет только сопоставление строк Distinguished Name (без криптографической проверки подписи), злоумышленник может подделать сертификаты и получить аутентифицированный доступ к API. Fortinet подтвердила эксплуатацию данной уязвимости в реальных условиях.

Этот инструмент выполняет неразрушающее тестирование уязвимости следующим образом:

  1. Отправка базового POST-запроса на /api/v1/fabric_device_auth/fortigate/init без подделанных заголовков
  2. Отправка того же POST-запроса с X-SSL-CLIENT-VERIFY: SUCCESS, но без данных сертификата
  • Сравнение двух ответов для определения того, достиг ли заголовок Django
  • При отправке заголовка verify без данных сертификата PEM активируется путь обнаружения, но аутентификация не может быть выполнена, поскольку цепочка сертификатов не предоставляется. Сервер остаётся стабильным и может продолжать обрабатывать соединения.

    • Уязвимые серверы вернут разные ответы: базовый запрос возвращает HTTP 401 ("Certificate not found in request header"), а подделанный — HTTP 500 (ошибка сервера), поскольку contains_certificate() проходит проверку, но validate_cert_chain() завершается ошибкой из-за отсутствия данных PEM.
    • Пропатченные серверы вернут одинаковые ответы HTTP 401 на оба запроса, поскольку горячий фикс добавляет в Apache директивы RequestHeader unset, которые отбрасывают подделанный заголовок до того, как он достигнет Django.
    • Серверы, не являющиеся EMS, не смогут обратиться к конечной точке, и в этом случае инструмент сообщает о результате INCONCLUSIVE.

    Установка

    root@kitploit:~
    git clone https://github.com/BishopFox/CVE-2026-35616-check
    cd CVE-2026-35616-check
    

    Внешних зависимостей нет. Сканер использует только модули стандартной библиотеки Python.

    Использование

    Проверьте сервер FortiClient EMS по адресу <TARGET>:<PORT>. Порт по умолчанию — 443/TCP.

    root@kitploit:~
    python3 CVE-2026-35616-check.py <TARGET> [PORT]
    

    Пример: уязвимый сервер

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 500
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  500 — Server encountered an error, please try again later.
    [!] Spoofed header changed server behavior
    [!] X-SSL-CLIENT-VERIFY is reaching Django (hotfix not applied)
    
    ======================================================================
    RESULT: VULNERABLE to CVE-2026-35616
    Affected versions: FortiClient EMS 7.4.5 - 7.4.6
    Recommendation: Apply Fortinet hotfix or upgrade to 7.4.7+
    ======================================================================
    

    Пример: пропатченный сервер

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 401
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  401 — Certificate not found in request header.
    [-] Responses identical (header stripped by Apache)
    
    ======================================================================
    RESULT: NOT VULNERABLE (hotfix applied)
    Apache is stripping X-SSL-CLIENT-VERIFY before it reaches Django
    ======================================================================
    

    Предварительные условия

    Инструмент может обнаружить уязвимость только при выполнении следующих условий:

    • На целевом сервере запущена FortiClient EMS 7.4.5 или 7.4.6
    • Веб-интерфейс EMS доступен
    • Конечная точка /api/v1/fabric_device_auth/fortigate/init существует и использует аутентификацию cert_chain_approved

    Если какое-либо условие не выполнено, инструмент сообщит о результате INCONCLUSIVE.

    Лицензия

    Этот код распространяется под лицензией MIT.

    Юридический отказ от ответственности

    Использование этого инструмента для атак на цели без предварительного взаимного согласия незаконно. Соблюдение всех применимых местных, государственных и федеральных законов является обязанностью конечного пользователя. Разработчики не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этой программой.

    См. также

    • Консультация Fortinet FG-IR-26-099
    • Блог Bishop Fox: полный технический анализ
    • NVD — CVE-2026-35616
    Скачать инструмент