漏洞预警 CVE-2018-0171 Cisco Smart Install远程命令执行

漏洞描述

        思科 IOS 和 IOS-XE 系统 Smart Install Client 代码中存在一个缓冲区堆栈溢出漏洞(CVE-2018-0171)。攻击者可以远程向 TCP 4786 端口发送一个恶意数据包,触发目标设备的栈溢出漏洞,造成设备拒绝服务(DoS)或在造成远程命令执行。攻击者可以利用这个漏洞导致设备重启或配置丢失,从而导致业务发生中断。
如果设备不启用Smart Install Client 功能将不受到影响。
可能受到影响的设备类型

  • Catalyst 2960
  • Catalyst 2960-C
  • Catalyst 2960-CX
  • Catalyst 2960-L
  • Catalyst 2960-P
  • Catalyst 2960-S
  • Catalyst 2960-SF
  • Catalyst 2960-X
  • Catalyst 2960-XR
  • Catalyst 2975
  • Catalyst 3560
  • Catalyst 3560-C
  • Catalyst 3560-CX
  • Catalyst 3560-E
  • Catalyst 3560-X
  • Catalyst 3650
  • Catalyst 3750
  • Catalyst 3750 Metro Series
  • Catalyst 3750-E
  • Catalyst 3750-X
  • Catalyst 3850
  • Catalyst 4500 Supervisor Engine, 6E, 6LE, 7E, 7LE, 8E, 8LE
  • Catalyst 6500 Supervisor Engine 2T-10GE
  • IE 2000
  • IE 3000
  • IE 3010
  • IE 4000
  • IE 4010
  • IE 5000
  • ME 3400E Series Ethernet Access
  • ME 3400 Series Ethernet Access
  • NME-16ES-1G-P
  • SM-ES2 SKUs
  • SM-ES3 SKUs
  • SM-X-ES3 SKUs

        不受影响系统及应用版本

  1. 手工关闭了Cisco Smart Install管理协议,或模式为Director模式的Cisco设备均不受影响。(注:所有相关产品在出厂时默认开启了该项功能)
  2. 具备以下软件版本的设备不在影响范围之内:
  • Catalyst 2960系列交换机:15.2(2)E8,15.2(4)E6,15.2(6)E1及后续发布的IOS版本
  • Catalyst 3560/3750系列交换机:15.2(4)E6及后续发布的IOS版本
  • Catalyst 3650/3850系列交换机:16.3.6,3.6.8E及后续发布的IOS-XE版本
  • Catalyst 4500系列交换机:3.6.8E及后续发布的IOS-XE版本
  • Catalyst65 Supervisor Engine 2T-10GE:15.2(1)SY6及后续发布的IOS版本
  • IE系列交换机:15.5(1)SY1及后续发布的IOS版本
  • ME系列交换机:12.2(60)EZ12及后续发布的IOS版本

漏洞检测

       对于可能存在“Cisco Smart Install远程命令执行”漏洞的设备,思科提供如下的检查方法,快速定位使用设备是否存在该项漏洞。
      方法一:通过命令行命令确认Smart Install Client功能是否开启
      在设备的命令行输入命令可以直接检查Smart Install Client功能是否开启,命令执行结果如下所示:

     switch>show vstack config | inc Role
     Role: Client (SmartInstall enabled)

     方法二:通过命令行命令确认Smart Install Client所使用的TCP端口是否激活
      对于部分软件版本过于陈旧的设备,命令行不支持“vstack”相关命令,但也可能存在该功能漏洞,可以通过直接检查TCP端口4786是否激活的方式,用于确认是否可能存在该漏洞,命令执行结果如下所示:
switch>show tcp brief all
TCB       Local Address            Foreign Address             (state)
05FD9F98  0.0.0.0.4786               *.*                         LISTEN
0568FFFC  0.0.0.0.443                *.*                         LISTEN
0568F038  0.0.0.0.443                *.*                         LISTEN
0568E428  0.0.0.0.80                 *.*                         LISTEN
0568D818  0.0.0.0.80                 *.*                         LISTEN

通过以上两种方法,可以快速定位设备是否存在该项漏洞,或是Cisco Smart Install Client功能是否处于激活状态。

漏洞修复

    对于可能存在“Cisco Smart Install远程命令执行”漏洞的设备,思科提供如下的技术手段,规避该漏洞所带来的风险。
    方法一:将设备软件升级到最新软件版本
通过升级设备所使用的软件版本,可以修复设备的该漏洞,所需的软件版本,可在Cisco IOS Software Checker网站上进行查询,也可以联系思科代理商或是思科公司获取相关的软件。

    方法二:关闭“Smart Install Client”功能
升级设备软件,会导致设备的重新启动,可能会影响到网络的使用,如果需要暂时性的规避该漏洞所带来的风险,可以采用手工关闭“Smart Install Client”的功能的方法,在线的规避风险,关闭该功能的命令及运行结果如下所示:
switch(config)#no vstack
switch#show vstack config | inc Role
 Role: Client (SmartInstall disabled)

     方法三:设备不支持“no vstack”命令
部分软件版本过于陈旧的设备,可能不支持“no vstack”命令,如果检查出该设备具有该漏洞,可以通过手工部署ACL的方法,规避风险。使用的命令如下所示:
ip access-list extended SMI_HARDENING_LIST
    deny tcp any any eq 4786
    permit ip any any
interface GigabitEthernet0/0
 ip access-group SMI_HARDENING_LIST in

    方法四:需要使用SMART Install Client功能场景,但无法升级软件版本
在部分场景,需要使用Smart Install Client的功能,但由于无法升级软件,可通过对TCP端口4786进行访问控制,仅允许Smart Install Director和Smart Install Client进行通信,避免恶意攻击。使用的命令如下所示:
ip access-list extended SMI_HARDENING_LIST
    permit tcp host 10.10.10.1 host 10.10.10.200 eq 4786
    deny tcp any any eq 4786
    permit ip any any
interface GigabitEthernet0/0
 ip access-group SMI_HARDENING_LIST in

以上方法均无法执行,可以联系思科公司