
Python PoC и шаблон Nuclei для обнаружения предварительной аутентификации SQL-инъекции в FortiClient EMS 7.4.4, с безопасными методами проверки на основе ошибок и задержек по времени.
Этот репозиторий содержит инструменты обнаружения для CVE-2026-21643 — уязвимости предварительной аутентификации SQL-инъекции в FortiClient EMS 7.4.4.
Уязвимость существует в конечных точках /api/v1/init_consts и /api/v1/auth/signin, где HTTP-заголовок Site передаётся напрямую в PostgreSQL-запрос SET search_path без санитизации.
cve_2026_21643.py: Python-скрипт для проверки уязвимости с использованием как методов на основе ошибок (безопасный), так и на основе времени (вызывает блокировку).CVE-2026-21643.yaml: Шаблон ProjectDiscovery Nuclei, использующий безопасный метод извлечения на основе ошибок.Установите необходимые зависимости:
pip install -r requirements.txt
Запустите скрипт против цели:
# По умолчанию (безопасная проверка на основе ошибок на /api/v1/init_consts)
python3 cve_2026_21643.py -u https://target.com
# Проверка на основе времени на /api/v1/auth/signin (Предупреждение: вызывает блокировку после 3 попыток)
python3 cve_2026_21643.py -u https://target.com -e signin
# Проверка обеих конечных точек
python3 cve_2026_21643.py -u https://target.com -e both
Вы можете запустить включённый YAML-шаблон напрямую с помощью Nuclei:
nuclei -t CVE-2026-21643.yaml -u https://target.com