Уязвимый коммутатор Cisco Catalyst 2960G-48TC-L. Фото: Cisco
Компания Cisco опубликовала информацию (ID бюллетеня: cisco-sa-20170317-cmp) о критической уязвимости в протоколе Cluster Management Protocol (CMP), который поставляется с программным обеспечением Cisco IOS XE Software. Уязвимость CVE-2017-3881 даёт возможность удалённого исполнения кода с повышенными привилегиями в межсетевой операционной системе Cisco IOS любым неавторизованным удалённым пользователем (которому известно о баге).
О нём точно было известно сотрудникам ЦРУ, что следует из документов, опубликованных на сайте Wikileaks в рамках проекта Vault 7 (Year Zero). Специалисты по безопасности Cisco говорят, что нашли информацию об уязвимости, проведя анализ этих документов.
Протокол CMP основан на протоколе telnet, но поддерживает специфические параметры. Баг связан с некорректной обработкой именно этих специфичных для CMP параметров, которые получены по telnet. Какие конкретно параметры нужно использовать для проявления бага при обработке запроса — не сообщается.
Компания Cisco публикует инструкцию, как проверить наличие подсистемы CMP в программном обеспечении, которое работает на устройстве.
Проверка CMP:
show subsys class protocol | include ^cmp
Если подсистема CMP отсутствует, ответ будет такой:
Switch#show subsys class protocol | include ^cmp
Switch#
Если подсистема CMP присутствует, ответ будет следующий:
Switch#show subsys class protocol | include ^cmp
cmp Protocol 1.000.001
Switch#
В случае наличия подсистемы CMP на вашем коммутаторе можно проверить, принимает ли CMP входящие соединения telnet. И, соответственно, можно ли провести на него вышеупомянутую атаку с удалённым исполнением кода путём специальным образом сформированной команды.
Проверка поддержки входящих соединений telnet:
show running-config | include ^line vty|transport input
Например, в случае использования настроек по умолчанию в строке виртуального терминала (VTY) будут просто указаны номера терминалов без особых примечаний:
Switch#show running-config | include ^line vty|transport input
line vty 0 4
line vty 5 15
Switch#
Настройки по умолчанию включают в себя входящие соединения telnet на всех виртуальных терминалах с 0-го по 15-й. Следовательно, это уязвимая конфигурация.
Для сравнения, вот специальная конфигурация, где только протокол SSH разрешен на всех виртуальных терминалах:
Switch#show running-config | include ^line vty|transport input
line vty 0 4
transport input ssh
line vty 5 15
transport input ssh
Switch#
Такая конфигурация не будет уязвимой.
Cisco проверила версии Cisco IOS XE Software и точно выяснила список 318 коммутаторов и других сетевых устройств, подверженных данной уязвимости. Если устройства нет в списке, то оно точно безопасно.
Список включает 264 коммутатора серии Catalyst, 40 промышленных коммутаторов серии Industrial Ethernet и 14 других устройств Cisco.
К сожалению, не доступен сервер mySQL