Broadcom WiFi 芯片驱动程序中存在漏洞,可让您远程攻击系统

在 Broadcom 无线芯片的驱动程序中 显露弱点。 在最简单的情况下,这些漏洞可用于远程导致拒绝服务,但不排除开发漏洞的情况,允许未经身份验证的攻击者通过发送特殊设计的数据包以 Linux 内核权限执行其代码。

通过对 Broadcom 固件进行逆向工程发现了这些问题。 受影响的芯片广泛用于笔记本电脑、智能手机和各种消费设备,从智能电视到物联网设备。 特别是,博通芯片被用于苹果、三星和华为等制造商的智能手机中。 值得注意的是,博通早在 2018 年 7 月就收到了有关该漏洞的通知,但花了大约 XNUMX 个月的时间才与设备制造商协调发布修复程序。

两个漏洞影响内部固件,并可能允许代码在 Broadcom 芯片所使用的操作系统环境中执行,这使得攻击不使用 Linux 的环境成为可能(例如,攻击 Apple 设备的可能性已被确认) CVE-2019-8564)。 让我们回想一下,一些 Broadcom Wi-Fi 芯片是专用处理器(ARM Cortex R4 或 M3),它运行类似的操作系统并实现其 802.11 无线堆栈 (FullMAC)。 在此类芯片中,驱动程序确保主系统与 Wi-Fi 芯片固件的交互。 为了在 FullMAC 遭到破坏后获得对主系统的完全控制,建议使用其他漏洞,或者在某些芯片上利用对系统内存的完全访问。 在具有 SoftMAC 的芯片中,802.11 无线堆栈在驱动程序端实现并使用系统 CPU 执行。

Broadcom WiFi 芯片驱动程序中存在漏洞,可让您远程攻击系统

专有 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

添加评论