内容简介:博通是全球无线设备的主要供应商之一,博通的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
博通是全球无线设备的主要供应商之一,博通的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) |
brcmfmac和brcmsmac驱动程序应用于 Linux 系统,bcmdhd驱动程序应用于Android系统,wl驱动程序是路由器等嵌入式系统中使用最多的博通wifi驱动程序,也用在一些笔记本电脑芯片上,例如Dell XPS上的bcm4352芯片。
图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,该判断机制可以被绕过,从而造成远端来源的非法数据帧可以被后续流程处理。
图2 is_wlc_event_frame函数问题示意
CVE-2019-9500
brcmf_wowl_nd_results函数存在堆溢出漏洞。如果WLAN配置了唤醒功能,该函数将被用于重组事件数据帧。当驱动收到一个恶意构造的事件数据帧时,将会触发该漏洞。802.11协议规定eSSID字段不能大于32字节,当攻击者通过远程触发固件事件,事件帧中的SSID的长度大于32字节时,将会触发堆溢出漏洞。
图3 brcmf_wowl_nd_results函数问题示意
-
博通wl驱动中两个漏洞(CVE-2019-9501、 CVE-2019-9502)
CVE-2019-9501及 CVE-2019-9502是博通wl驱动中两个堆溢出漏洞,当设备访问AP热点时,在四次握手交互过程中的第三步,在驱动分析EAPOL消息时,将会触发这两个堆溢出漏洞。
图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函数触发堆溢出漏洞。
图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
声明:本文来自ADLab,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Spring Framework 多个安全漏洞预警
- 安全预警 ——Firefox远程代码执行漏洞
- 注意!Exchange SSRF 漏洞安全预警通告
- 安全预警 ——WebSphere存在远程代码执行漏洞
- 预警即预防:6大常见数据库安全漏洞
- 安全预警 ——关于Apache Axis远程命令执行漏洞
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。