• CVE-2020-3110、CVE-2020-3111、CVE-2020 -3118、CVE-2020-3119、CVE-2020-3120 cdpwn 解析


    CVE-2020-3110、CVE-2020-3111、CVE-2020 -3118、CVE-2020-3119、CVE-2020-3120 cdpwn 解析

    攻击条件

    在同一广播域,黑客即可通过cdp协议非法入侵开启CDP协议的思科设备,或者触发dos漏洞

    影响范围

    Routers:

    • ASR 9000 Series Aggregation Services Routers
    • Carrier Routing System (CRS)
    • Firepower 1000 Series
    • Firepower 2100 Series
    • Firepower 4100 Series
    • Firepower 9300 Security Appliances
    • IOS XRv 9000 Router
    • White box routers running Cisco IOS XR

    Switches:

    • Nexus 1000 Virtual Edge
    • Nexus 1000V Switch
    • Nexus 3000 Series Switches
    • Nexus 5500 Series Switches
    • Nexus 5600 Series Switches
    • Nexus 6000 Series Switches
    • Nexus 7000 Series Switches
    • Nexus 9000 Series Fabric Switches
    • MDS 9000 Series Multilayer Switches
    • Network Convergence System (NCS) 1000 Series
    • Network Convergence System (NCS) 5000 Series
    • Network Convergence System (NCS) 540 Routers
    • Network Convergence System (NCS) 5500 Series
    • Network Convergence System (NCS) 560 Routers
    • Network Convergence System (NCS) 6000 Series
    • UCS 6200 Series Fabric Interconnects
    • UCS 6300 Series Fabric Interconnects
    • UCS 6400 Series Fabric Interconnects

    IP Phones:

    • IP Conference Phone 7832
    • IP Conference Phone 8832
    • IP Phone 6800 Series
    • IP Phone 7800 Series
    • IP Phone 8800 Series
    • IP Phone 8851 Series
    • Unified IP Conference Phone 8831
    • Wireless IP Phone 8821
    • Wireless IP Phone 8821-EX

    IP Cameras:

    • Video Surveillance 8000 Series IP Cameras

    临时修复

    1. 关闭CDP思科发现协议

    漏洞解析

    cve-2020-3120

    漏洞点在cdp 协议报文Address中的Number of address。根据下图可以看出,通过该值去申请内存空间,并且该值没有经过任何校验。

    我们可以将Number of address修改为下图的值去触发dos漏洞

    目前Cisco的修复方式为校验该值正确性,确保申请的内存不会出发dos。如下

    cve-2020-3120

    该漏洞与上一个漏洞类似,主要影响的设备为IOS-XR

    在该处,虽然对number of address的大小进行验证,但是可以绕过。我们可以将该值设置为4*maxint/5 触发漏洞

    CVE-2020-3119 NX-OS Stack Overflow in the Power Request TLV

    该漏洞出现在cdp协议交换poe帧的时候,没有对部分值检查,造成栈溢出,可以直接获取设备的root权限的shell。如下图

    可以通过发送这种poe的帧去触发dos漏洞。不过注意,该漏洞是可以造成rce的

    可以通过下图方法绕过aslr

    cve-2020-3118 IOS XR Format String vulnerability in multiple TLVs

    漏洞出现在下图

    可以看出,该处存在类似与prinntf的格式化字符串漏洞

    CVE-2020-3111 IP Phones Stack Overflow in PortID TLV

    漏洞出现在下面的地方

    cdp协议的portid处。memcpy在复制内存时没有对该值校验,导致栈溢出

    CVE-2020-3110 IP Cameras Heap Overflow in DeviceID TLV

    漏洞出现在下图

    上面的代码只是为从传入数据包中解析出的端口ID分配了一个缓冲区,并将其值从传入TLV复制到分配的缓冲区中。 但是,这里有一个简单的错误,意味着可能发生琐碎的堆溢出。 分配dst_buf的大小计算为len +1,以允许在端口ID字符串的末尾添加空终止符。 不幸的是,此变量(alloc_len)定义为uint8,而计算为TLV有效载荷长度(value_len)的大小定义为uint16。TLV中的length字段为16位,并且完全由攻击者控制。 通过发送包含大小大于0xff的PortID TLV(0x01)的CDP数据包,攻击者可以使堆分配的缓冲区溢出,并带有攻击者控制的数据

  • 相关阅读:
    《一起学Windows phone7开发》系列视频课程
    Windows Phone 7 开发 31 日谈——第19日:推送通知
    周金根 2010年blog汇总:企业架构、敏捷个人、模型驱动
    Windows Phone 7 开发 31 日谈——第4日:设备方向
    Windows Phone 7 开发 31 日谈——第3日:返回键
    JavaScript初学者应注意的七个细节
    [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
    Windows Phone 7 开发 31 日谈——第2日:页面间导航
    Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?
    Windows Phone 7 开发 31 日谈——第11日:加速感应器
  • 原文地址:https://www.cnblogs.com/potatsoSec/p/12291056.html
Copyright © 2020-2023  润新知