8827太阳集团ADLab:博通Wi-Fi驱动多个安全缝隙忠告

颁布功夫 2019-04-21

博通是全球无线设备的重要供给商之一,,, ,,,博通的43系列的wifi芯片被宽泛利用于智能手机、笔记本电脑、智能电视和物联网设备。。。。。。。。近日,,, ,,,US-CERT颁布了多个博通wi-Fi芯片驱动的安全预警(CVE-2019-9500、CVE-2019-9501、CVE-2019-9502、CVE-2019-9503)。。。。。。。。


这四个缝隙别离是博通wl驱动中的两个堆溢露马脚(CVE-2019-9501、CVE-2019-9502),,, ,,,开源的brcmfmac驱动中的数据帧验证绕过缝隙(CVE-2019-9503)及堆溢露马脚(CVE-2019-9500)。。。。。。。。未经授权的攻击者通过远程发送恶意的wifi包,,, ,,,在最严沉的情况下,,, ,,,能够在受影响系统中执行肆意代码。。。。。。。。由于缝隙利用前提的受限,,, ,,,通常情况下,,, ,,,这些缝隙能够造成回绝服务。。。。。。。。



博通芯片驱动简介


博通WIFI芯片43xxx驱动法式集分为开源和专有两类。。。。。。。。


开源

b43(Linux)

brcmsmac(SoftMAC / Linux)

brcmfmac(FullMAC / Linux)

bcmdhd(FullMAC /  Android)

专有

broadcom-sta(wl) ( SoftMAC  && FullMAC / Linux)


8827太阳集团(Macau)股份有限公司-Official website


图1 博通芯片驱动及利用系统



缝隙分析


brcmfmac驱动两个缝隙(CVE-2019-9503、CVE-2019-9500)


博通Wi-Fi芯片与主机的输入输出接口选取USB,,, ,,,SDIO和PCIe三种Bus总线方式。。。。。。。。在软件层面,,, ,,,驱动和主机的数据通讯有两种方式,,, ,,,一种是IOCTRL,,, ,,,一种是Event事务通知。。。。。。。。Wi-Fi芯片使用固件事务来通知主机分歧的事务:扫描了局、关联/解除关联、身份验证等。。。。。。。。


CVE-2019-9503


当brcmfmac驱动从远端起源接管到一个固件事务数据帧时,,, ,,,is_wlc_event_frame函数将被挪用,,, ,,,该函数用于判断Event的数据帧。。。。。。。。若是驱动从Host侧接受到该固件事务数据帧时,,, ,,,将会触发该判断机造。。。。。。。。该函数存在缝隙,,, ,,,使切当使用USB的BUS接口(如表置USB wifi网卡)时,,, ,,,通过机关bcm_hdr.subtype>=0,,, ,,,该判断机造能够被绕过,,, ,,,从而造成远端起源的犯法数据帧能够被后续流程处置。。。。。。。。

8827太阳集团(Macau)股份有限公司-Official website


图2 is_wlc_event_frame函数问题示意


CVE-2019-9500


brcmf_wowl_nd_results函数存在堆溢露马脚。。。。。。。。若是WLAN配置了唤醒职能,,, ,,,该函数将被用于沉组事务数据帧。。。。。。。。当驱动收到一个恶意机关的事务数据帧时,,, ,,,将会触发该缝隙。。。。。。。。802.11和谈划定eSSID字段不能大于32字节,,, ,,,当攻击者通过远程触发固件事务,,, ,,,事务帧中的SSID的长度大于32字节时,,, ,,,将会触发堆溢露马脚。。。。。。。。

8827太阳集团(Macau)股份有限公司-Official website


图3 brcmf_wowl_nd_results函数问题示意


博通wl驱动中两个缝隙(CVE-2019-9501、 CVE-2019-9502)


CVE-2019-9501及 CVE-2019-9502是博通wl驱动中两个堆溢露马脚,,, ,,,当设备接见AP热点时,,, ,,,在四次握手交互过程中的第三步,,, ,,,在驱动分析EAPOL新闻时,,, ,,,将会触发这两个堆溢露马脚。。。。。。。。


8827太阳集团(Macau)股份有限公司-Official website


图4 wl驱动缝隙示意图


CVE-2019-9501


AP向Station发送的EAPOL M3新闻中,,, ,,,若是vendor information字段长度大于32字节时,,, ,,,将会在wlc_wpa_sup_eapol函数触发堆溢露马脚。。。。。。。。


CVE-2019-9502


AP向Station发送的EAPOL M3新闻中,,, ,,,若是vendor information 字段长度大于164字节时,,, ,,,将会在wlc_wpa_plumb_gtk函数触发堆溢露马脚。。。。。。。。

8827太阳集团(Macau)股份有限公司-Official website


图5 wlc_wpa_plumb_gtk函数问题示意 


受影响产品


博通公司


博通公司没有提供受影响产品信息。。。。。。。。


Synology公司


Synology公司的RT1900ac产品受影响。。。。。。。。该缝隙在RT1900ac产品中默认不被触发,,, ,,,当产品能够由治理员配置启用某项配置时,,, ,,,才会受影响。。。。。。。。因而,,, ,,,Synology公司以为RT1900ac中该缝隙有肯定的局限性,,, ,,,只有在特定的情况下能力触发。。。。。。。。


Apple公司


Apple公司的macOS Sierra 10.12.6、macOS High Sierra 10.13.6、 macOS Mojave 10.14.3产品受影响。。。。。。。。


解决规划


Apple公司的brcmfmac驱动的缝隙已建复,,, ,,,用户能够更新有关的补�。。。。。。。。� ,,,实现建复工作。。。。。。。。
博通公司建复了Linux内核brcmfmac驱动中的CVE-2019-9503及CVE-2019-9500两个缝隙,,, ,,,用户能够更新有关的补�。。。。。。。。� ,,,实现建复工作。。。。。。。。
使用可信的WI-FI网络,,, ,,,出格是不要在公共场所衔接不安全的wifi热点。。。。。。。。


参考链接



1.https://blog.quarkslab.com/reverse-engineering-broadcom-wireless-chipsets.html
2.https://kb.cert.org/vuls/id/166939/
3.https://support.apple.com/en-us/HT209600
4.https://www.synology.cn/zh-cn/security/advisory/Synology_SA_19_18
5.https://git.kernel.org/linus/a4176ec356c73a46c07c181c6d04039fafa34a9f
6.https://git.kernel.org/linus/1b5e2423164b3670e8bc9174e4762d297990deff