漏洞描述
思科 IOS 和 IOS-XE 系統(tǒng) Smart Install Client 代碼中存在一個(gè)緩沖區(qū)堆棧溢出漏洞(CVE-2018-0171)。攻擊者可以遠(yuǎn)程向 TCP 4786 端口發(fā)送一個(gè)惡意數(shù)據(jù)包,觸發(fā)目標(biāo)設(shè)備的棧溢出漏洞,造成設(shè)備拒絕服務(wù)(DoS)或在造成遠(yuǎn)程命令執(zhí)行。攻擊者可以利用這個(gè)漏洞導(dǎo)致設(shè)備重啟或配置丟失,從而導(dǎo)致業(yè)務(wù)發(fā)生中斷。
如果設(shè)備不啟用Smart Install Client 功能將不受到影響。
可能受到影響的設(shè)備類(lèi)型
- 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
不受影響系統(tǒng)及應(yīng)用版本
- 手工關(guān)閉了Cisco Smart Install管理協(xié)議,或模式為Director模式的Cisco設(shè)備均不受影響。(注:所有相關(guān)產(chǎn)品在出廠時(shí)默認(rèn)開(kāi)啟了該項(xiàng)功能)
- 具備以下軟件版本的設(shè)備不在影響范圍之內(nèi):
- Catalyst 2960系列交換機(jī):15.2(2)E8,15.2(4)E6,15.2(6)E1及后續(xù)發(fā)布的IOS版本
- Catalyst 3560/3750系列交換機(jī):15.2(4)E6及后續(xù)發(fā)布的IOS版本
- Catalyst 3650/3850系列交換機(jī):16.3.6,3.6.8E及后續(xù)發(fā)布的IOS-XE版本
- Catalyst 4500系列交換機(jī):3.6.8E及后續(xù)發(fā)布的IOS-XE版本
- Catalyst65 Supervisor Engine 2T-10GE:15.2(1)SY6及后續(xù)發(fā)布的IOS版本
- IE系列交換機(jī):15.5(1)SY1及后續(xù)發(fā)布的IOS版本
- ME系列交換機(jī):12.2(60)EZ12及后續(xù)發(fā)布的IOS版本
漏洞檢測(cè)
對(duì)于可能存在“Cisco Smart Install遠(yuǎn)程命令執(zhí)行”漏洞的設(shè)備,思科提供如下的檢查方法,快速定位使用設(shè)備是否存在該項(xiàng)漏洞。
方法一:通過(guò)命令行命令確認(rèn)Smart Install Client功能是否開(kāi)啟
在設(shè)備的命令行輸入命令可以直接檢查Smart Install Client功能是否開(kāi)啟,命令執(zhí)行結(jié)果如下所示:
switch>show vstack config | inc Role
Role: Client (SmartInstall enabled)
方法二:通過(guò)命令行命令確認(rèn)Smart Install Client所使用的TCP端口是否激活
對(duì)于部分軟件版本過(guò)于陳舊的設(shè)備,命令行不支持“vstack”相關(guān)命令,但也可能存在該功能漏洞,可以通過(guò)直接檢查T(mén)CP端口4786是否激活的方式,用于確認(rèn)是否可能存在該漏洞,命令執(zhí)行結(jié)果如下所示:
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
通過(guò)以上兩種方法,可以快速定位設(shè)備是否存在該項(xiàng)漏洞,或是Cisco Smart Install Client功能是否處于激活狀態(tài)。
漏洞修復(fù)
對(duì)于可能存在“Cisco Smart Install遠(yuǎn)程命令執(zhí)行”漏洞的設(shè)備,思科提供如下的技術(shù)手段,規(guī)避該漏洞所帶來(lái)的風(fēng)險(xiǎn)。
方法一:將設(shè)備軟件升級(jí)到最新軟件版本
通過(guò)升級(jí)設(shè)備所使用的軟件版本,可以修復(fù)設(shè)備的該漏洞,所需的軟件版本,可在Cisco IOS Software Checker網(wǎng)站上進(jìn)行查詢(xún),也可以聯(lián)系思科代理商或是思科公司獲取相關(guān)的軟件。
方法二:關(guān)閉“Smart Install Client”功能
升級(jí)設(shè)備軟件,會(huì)導(dǎo)致設(shè)備的重新啟動(dòng),可能會(huì)影響到網(wǎng)絡(luò)的使用,如果需要暫時(shí)性的規(guī)避該漏洞所帶來(lái)的風(fēng)險(xiǎn),可以采用手工關(guān)閉“Smart Install Client”的功能的方法,在線(xiàn)的規(guī)避風(fēng)險(xiǎn),關(guān)閉該功能的命令及運(yùn)行結(jié)果如下所示:
switch(config)#no vstack
switch#show vstack config | inc Role
Role: Client (SmartInstall disabled)
方法三:設(shè)備不支持“no vstack”命令
部分軟件版本過(guò)于陳舊的設(shè)備,可能不支持“no vstack”命令,如果檢查出該設(shè)備具有該漏洞,可以通過(guò)手工部署ACL的方法,規(guī)避風(fēng)險(xiǎn)。使用的命令如下所示:
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功能場(chǎng)景,但無(wú)法升級(jí)軟件版本
在部分場(chǎng)景,需要使用Smart Install Client的功能,但由于無(wú)法升級(jí)軟件,可通過(guò)對(duì)TCP端口4786進(jìn)行訪(fǎng)問(wèn)控制,僅允許Smart Install Director和Smart Install Client進(jìn)行通信,避免惡意攻擊。使用的命令如下所示:
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
以上方法均無(wú)法執(zhí)行,可以聯(lián)系思科公司