
CVE-2024-50562 является уязвимостью управления сеансами в порталах Fortinet SSL-VPN.
Профессиональный сканер с разрешением, который проверяет, аннулирует ли FortiGate файлы cookie сессии после выхода из системы.
Положительный результат подтверждает CVE-2024-50562 — ошибку Недостаточного срока действия сессии (CWE-613), которая позволяет злоумышленнику повторно использовать украденный cookie и снова войти в систему, даже если пользователь явно вышел.
Официальное уведомление: https://fortiguard.com/psirt/FG-IR-24-339
«Уязвимость недостаточного срока действия сессии [CWE-613] в FortiOS SSL-VPN может позволить злоумышленнику, владеющему cookie, использованным для входа на портал SSL-VPN, войти снова, хотя сессия истекла или пользователь вышел.» — Fortinet PSIRT
| Номер IR | FG-IR-24-339 |
| Опубликовано | 10 июня 2025 |
| Компонент | SSL-VPN |
| Серьёзность | Средняя |
| CVSS v3 | 4.4 |
| Воздействие | Неправильный контроль доступа |
| CWE | 613 (Insufficient Session Expiration) |
| CVE | CVE-2024-50562 |
| Затронутый режим | Только веб/портал — Туннельный режим не уязвим |
Fortinet благодарит:
| Дата | Событие |
|---|---|
| 2025-06-10 | Первое публичное уведомление (FG-IR-24-339) |
Помощник по пути обновления: https://docs.fortinet.com/upgrade-tool
/remote/logincheck с тестовыми учётными данными.SVPNCOOKIE, SVPNTMPCOOKIE)./remote/logout./sslvpn/portal.html./remote/login → АННУЛИРОВАН → ИсправленоВывод консоли дублируется в CSV для отчётности.
# Клонировать репозиторий
git clone https://github.com/Shahid-BugB/fortinet-cve-2024-50562.git
cd fortinet-cve-2024-50562
# Установить зависимости
pip install requests # единственная необходимая сторонняя библиотека
# Создать файл с целями
cat > targets.txt <<'EOF'
192.168.2.3:4433
192.168.2.44:4433
# пример порта по умолчанию
192.168.2.44
EOF
# Запустить сканирование
python3 fortinet-cve-2024-50562-new.py \
-f targets.txt \
-u alice \
-p 'alice@!123'
usage: fortinet-cve-2024-50562-new.py [-h] -u USERNAME -p PASSWORD
[-r REALM]
[-t HOST[:PORT]] [-f FILE]
[-o OUTPUT]
/remote/login и /sslvpn/portal.html с незнакомых IP.Этот инструмент предоставляется исключительно для авторизованных оценок безопасности. Его запуск против систем без письменного разрешения может нарушать местное законодательство (например, IT Act 2000, CFAA) и политику организации. Авторы не несут ответственности за неправомерное использование.
Pull-реквесты и issues приветствуются!
| Продукт/Ветка | Затронутые версии | Первая исправленная |
|---|
| FortiOS 7.6 | 7.6.0 | 7.6.1 |
| FortiOS 7.4 | 7.4.0 – 7.4.7 | 7.4.8 |
| FortiOS 7.2 | 7.2.0 – 7.2.10 | 7.2.11 |
| FortiOS 7.0 | все | перейти на исправленную ветку |
| FortiOS 6.4 | все | перейти на исправленную ветку |
| FortiSASE 24.4 | 24.4.b | 24.4.c (автоматически исправлено) |
| Флаг | Назначение | Пример |
|---|
-u, --username | Имя пользователя VPN (обязательно) | -u audit |
-p, --password | Пароль VPN (обязательно) | -p 'Pa$$w0rd!' |
-r, --realm | Realm / домен аутентификации (необязательно) | -r employees |
-t, --target | Одиночный host[:port] (можно повторять). По умолчанию 443. | -t 192.168.2.24:8443 |
-f, --file | Файл с одной host[:port] на строку (пустые строки и комментарии # игнорируются). | -f targets.txt |
-o, --output | Путь к CSV (по умолчанию fortinet_reuse_results.csv). | -o scan.csv |
| Столбец | Описание |
|---|
ip, port | Целевой шлюз |
login_success | True, если учётные данные сработали |
vulnerability_status | REUSED = уязвимо • INVALIDATED = безопасно • auth-failed = неверные данные/MFA |
cookies_* | Cookie-словари в формате JSON (для криминалистики) |
summary | Дубликат статуса для быстрой фильтрации |