CVE-2017-3881

Cisco IOS and IOS XE

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-03-25

Официальное описание

A vulnerability in the Cisco Cluster Management Protocol (CMP) processing code in Cisco IOS and Cisco IOS XE Software could allow an unauthenticated, remote attacker to cause a reload of an affected device or remotely execute code with elevated privileges.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость в обработке протокола Cisco Cluster Management Protocol (CMP) в ПО Cisco IOS и IOS XE. Атакующий может отправить специально сформированный пакет CMP по Telnet на уязвимое устройство.

  • Как используют: Неавторизованный удаленный злоумышленник может вызвать перезагрузку устройства или выполнить произвольный код с привилегиями уровня 15 (полный контроль).
  • Вектор атаки: Удаленный, через сеть.
  • Протокол/Порт: Telnet (TCP/23). Атака возможна, даже если Telnet-сервер отключен, но порт открыт.

Как исправить

Основной метод — обновление ПО. Установите исправленную версию Cisco IOS/IOS XE.

  1. Определите текущую версию ПО: bash show version

  2. Обновитесь до исправленной версии. Для вашего оборудования и текущей версии ПО найдите фиксирующий релиз в официальном бюллетене Cisco: Cisco Security Advisory. Примеры исправленных версий:

    • Для IOS 15.6: Обновитесь до 15.6(3)M или новее.
    • Для IOS XE 3.7: Обновитесь до 3.7.8S или новее.
    • Точную версию для вашей модели и ветки (Train) смотрите в таблице "Fixed Software" в бюллетене.
  3. Скачайте образ и установите его: bash copy tftp://<сервер>/<образ-ios>.bin flash: boot system flash:/<образ-ios>.bin write memory reload

Временное решение

Если немедленное обновление невозможно, примените следующие меры:

  1. Блокировка доступа к порту Telnet (TCP/23) на границе сети:

    • На пограничных маршрутизаторах или фаервллах настройте ACL, запрещающий входящие соединения на TCP/23 из ненадежных сетей (например, из интернета) к уязвимым устройствам.
    • Пример ACL на Cisco IOS: bash access-list 110 deny tcp any any eq 23 access-list 110 permit ip any any interface GigabitEthernet0/0 ip access-group 110 in
  2. Отключение Telnet-сервера на уязвимом устройстве (если он не используется): bash no transport input telnet line vty 0 15 transport input ssh Важно: Это не полностью защищает, так как уязвимость может быть затронута через открытый порт, но снижает поверхность атаки.

  3. Использование Control Plane Policing (CoPP): Настройте политику CoPP для ограничения скорости обработки трафика Telnet и отброса подозрительных пакетов, направленных на устройство управления (control-plane). bash access-list 150 permit tcp any any eq 23 class-map match-all TELNET-CLASS match access-group 150 policy-map COPP-POLICY class TELNET-CLASS police 8000 conform-action drop exceed-action drop control-plane service-policy input COPP-POLICY