在 Broadcom 无线芯片的驱动程序中
通过对 Broadcom 固件进行逆向工程发现了这些问题。 受影响的芯片广泛用于笔记本电脑、智能手机和各种消费设备,从智能电视到物联网设备。 特别是,博通芯片被用于苹果、三星和华为等制造商的智能手机中。 值得注意的是,博通早在 2018 年 7 月就收到了有关该漏洞的通知,但花了大约 XNUMX 个月的时间才与设备制造商协调发布修复程序。
两个漏洞影响内部固件,并可能允许代码在 Broadcom 芯片所使用的操作系统环境中执行,这使得攻击不使用 Linux 的环境成为可能(例如,攻击 Apple 设备的可能性已被确认)
专有 wl 驱动程序(SoftMAC 和 FullMAC)和开源 brcmfmac (FullMAC) 中都存在驱动程序漏洞。 在 wl 驱动程序中检测到两个缓冲区溢出,当接入点在连接协商过程中传输特殊格式的 EAPOL 消息时,就会被利用(连接到恶意接入点时可能会执行攻击)。 对于采用 SoftMAC 的芯片,漏洞会导致系统内核受到损害,而对于采用 FullMAC 的芯片,代码可以在固件端执行。 brcmfmac 包含缓冲区溢出和通过发送控制帧利用的帧检查错误。 Linux内核中brcmfmac驱动程序的问题
已发现的漏洞:
- CVE-2019-9503 - 处理用于与固件交互的控制帧时 brcmfmac 驱动程序的行为不正确。 如果带有固件事件的帧来自外部源,驱动程序将丢弃它,但如果该事件是通过内部总线接收的,则跳过该帧。 问题在于,来自使用 USB 的设备的事件是通过内部总线传输的,这使得攻击者可以在使用具有 USB 接口的无线适配器时成功传输固件控制帧;
- CVE-2019-9500 – 启用“无线 LAN 唤醒”功能时,可能会通过发送经过特殊修改的控制帧来导致 brcmfmac 驱动程序(函数 brcmf_wowl_nd_results)中出现堆溢出。 该漏洞可用于在芯片被攻破后在主系统中组织代码执行,或与CVE-2019-9503漏洞结合,在远程发送控制帧时绕过检查;
- CVE-2019-9501 - wl 驱动程序(wlc_wpa_sup_eapol 函数)中的缓冲区溢出,在处理制造商信息字段内容超过 32 字节的消息时发生;
- CVE-2019-9502 - 处理制造商信息字段内容超过 164 字节的消息时,wl 驱动程序(wlc_wpa_plumb_gtk 函数)中会发生缓冲区溢出。
来源: opennet.ru