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.
-
Определите текущую версию ПО:
bash show version -
Обновитесь до исправленной версии. Для вашего оборудования и текущей версии ПО найдите фиксирующий релиз в официальном бюллетене Cisco: Cisco Security Advisory. Примеры исправленных версий:
- Для IOS 15.6: Обновитесь до 15.6(3)M или новее.
- Для IOS XE 3.7: Обновитесь до 3.7.8S или новее.
- Точную версию для вашей модели и ветки (Train) смотрите в таблице "Fixed Software" в бюллетене.
-
Скачайте образ и установите его:
bash copy tftp://<сервер>/<образ-ios>.bin flash: boot system flash:/<образ-ios>.bin write memory reload
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Блокировка доступа к порту 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
-
Отключение Telnet-сервера на уязвимом устройстве (если он не используется):
bash no transport input telnet line vty 0 15 transport input sshВажно: Это не полностью защищает, так как уязвимость может быть затронута через открытый порт, но снижает поверхность атаки. -
Использование 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