CVE-2022-42475
Fortinet FortiOS
2022-12-13
Multiple versions of Fortinet FortiOS SSL-VPN contain a heap-based buffer overflow vulnerability which can allow an unauthenticated, remote attacker to execute arbitrary code or commands via specifically crafted requests.
Технический анализ и план устранения
Суть уязвимости
CVE-2022-42475 представляет собой критическую уязвимость типа «переполнение буфера в куче» (Heap-based Buffer Overflow) в компоненте SSL-VPN операционной системы FortiOS.
Уязвимость позволяет неавторизованному удаленному злоумышленнику выполнить произвольный код или системные команды на устройстве. Атака реализуется путем отправки специально сформированных HTTP-запросов на интерфейс SSL-VPN. Данная брешь активно эксплуатировалась в целевых атаках на государственные и корпоративные сети еще до официального раскрытия информации.
Как исправить
Основным и наиболее надежным методом устранения уязвимости является обновление прошивки FortiOS до актуальных версий, в которых ошибка исправлена.
Необходимо установить одну из следующих версий (или более новую): * FortiOS версия 7.2.3 или выше * FortiOS версия 7.0.9 или выше * FortiOS версия 6.4.11 или выше * FortiOS версия 6.2.12 или выше * FortiOS версия 6.0.16 или выше
Команда для проверки текущей версии через CLI:
get system status
Для загрузки и установки обновления используйте веб-интерфейс (System -> Firmware) или выполните обновление через CLI, если настроен доступ к серверам FortiGuard:
execute restore config http <url_to_firmware>
Временные меры
Если немедленное обновление невозможно, необходимо применить компенсирующие меры для снижения риска эксплуатации.
- Полное отключение функционала SSL-VPN (наиболее безопасный вариант):
config vpn ssl settings
set status disable
end
- Ограничение доступа к SSL-VPN по списку разрешенных IP-адресов (Local In Policy):
config firewall address
edit "Trusted_IPs"
set subnet 1.2.3.4 255.255.255.255
next
end
config firewall local-in-policy
edit 1
set intf "wan1"
set srcaddr "Trusted_IPs"
set dstaddr "all"
set action accept
set service "SSL-VPN_Port"
set schedule "always"
next
edit 2
set intf "wan1"
set srcaddr "all"
set dstaddr "all"
set action deny
set service "SSL-VPN_Port"
set schedule "always"
next
end
- Мониторинг логов на предмет подозрительной активности (поиск аварийных завершений процесса sslvpnd):
diagnose debug crashlog read | grep sslvpnd