CVE-2017-12237
Cisco IOS and IOS XE Software
2022-03-03
A vulnerability in the Internet Key Exchange Version 2 (IKEv2) module of Cisco IOS and Cisco IOS XE could allow an unauthenticated, remote attacker to cause high CPU utilization, traceback messages, or a reload of an affected device that leads to a denial of service.
Технический анализ и план устранения
Суть уязвимости
Уязвимость в модуле IKEv2 (Internet Key Exchange Version 2) в Cisco IOS и IOS XE позволяет удаленному злоумышленнику без аутентификации отправить специально сформированный пакет IKEv2 на уязвимое устройство.
- Результат атаки: Это вызывает аномально высокую загрузку ЦП (CPU utilization), появление сообщений об ошибках (traceback) или полную перезагрузку устройства.
- Конечный эффект: Отказ в обслуживании (Denial of Service, DoS) для сетевых сервисов, работающих через это устройство.
Как исправить
Основной метод — установка исправленного ПО от Cisco. Необходимо обновить IOS/IOS XE до версии, в которой уязвимость устранена.
-
Определите текущую версию ПО:
bash show version -
Обновите ПО до исправленной версии. Выберите подходящий для вашего оборудования образ из списка Cisco. Минимальные исправленные версии для основных веток:
- IOS 15.6: Обновитесь до 15.6(3)M или новее.
- IOS XE 3.16: Обновитесь до 3.16.8S или новее.
- IOS XE 16.6: Обновитесь до 16.6.4 или новее.
Пример команды для копирования и установки нового образа (выполняется в режиме enable):
bash copy tftp://<сервер>/<новый_образ.bin> flash: configure terminal boot system flash:<новый_образ.bin> end write memory reloadВажно: Перед обновлением проверьте совместимость образа с вашей моделью оборудования и наличие достаточного объема памяти на устройстве.
Временное решение
Если немедленное обновление невозможно, ограничьте возможность удаленной атаки.
-
Ограничьте доступ к IKEv2 (порт UDP 500 и 4500) с помощью ACL (Access Control List):
- Разрешите доступ к этим портам только с доверенных IP-адресов (например, адресов VPN-концентраторов партнеров).
- Заблокируйте все остальные входящие подключения к портам UDP 500/4500.
Пример конфигурации ACL:
bash configure terminal ip access-list extended BLOCK-IKEV2-EXPLOIT permit udp host <trusted_ip_1> any eq 500 permit udp host <trusted_ip_1> any eq 4500 permit udp host <trusted_ip_2> any eq 500 permit udp host <trusted_ip_2> any eq 4500 deny udp any any eq 500 deny udp any any eq 4500 permit ip any any ! interface GigabitEthernet0/0 ip access-group BLOCK-IKEV2-EXPLOIT in end write memory -
Отключите IKEv2 (крайняя мера):
- Этот вариант возможен, только если вы не используете IPSec VPN на основе IKEv2.
- Найдите и удалите все конфигурации
crypto ikev2в текущей конфигурации.bash configure terminal no crypto ikev2 policy 1 no crypto ikev2 profile <your_profile_name> end write memory
Примечание: Временные решения лишь снижают риск и не устраняют уязвимость. Планируйте установку официального патча как можно скорее.