CVE-2023-27997
Fortinet FortiOS and FortiProxy SSL-VPN
2023-06-13
Fortinet FortiOS and FortiProxy SSL-VPN contain a heap-based buffer overflow vulnerability which can allow an unauthenticated, remote attacker to execute code or commands via specifically crafted requests.
Технический анализ и план устранения
Суть уязвимости
CVE-2023-27997 (также известная как XORtigate) — это критическая уязвимость переполнения буфера в куче (heap-based buffer overflow) в компоненте SSL-VPN. Ошибка возникает из-за некорректной обработки входящих данных, закодированных специфическим образом.
Уязвимость позволяет неавторизованному удаленному злоумышленнику выполнить произвольный код (RCE) или вызвать отказ в обслуживании (DoS) путем отправки специально сформированного HTTP-запроса на интерфейс SSL-VPN. Эксплуатация возможна даже в том случае, если на устройстве включена двухфакторная аутентификация (2FA), так как переполнение происходит до этапа проверки учетных данных.
Как исправить
Основным и рекомендуемым способом устранения является обновление прошивки FortiOS до актуальных версий, в которых данная ошибка исправлена.
Необходимо установить одну из следующих версий (или выше): * FortiOS 7.2.5 * FortiOS 7.0.12 * FortiOS 6.4.13 * FortiOS 6.2.15 * FortiOS 6.0.17 * FortiProxy 7.2.4 * FortiProxy 7.0.10
Для проверки текущей версии и выполнения обновления используйте консоль (CLI):
get system status
execute restore config tftp <filename> <tftp_server_ip>
Временные меры
Если немедленное обновление прошивки невозможно, необходимо применить компенсирующие меры для снижения риска эксплуатации.
- Полное отключение функции SSL-VPN (наиболее эффективный метод):
config vpn ssl settings
set status disable
end
- Ограничение доступа к SSL-VPN по списку разрешенных IP-адресов (Local-In Policies):
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
- Использование альтернативных методов удаленного доступа, таких как IPsec VPN, которые не подвержены данной уязвимости.