研究人员在Realtek RTL8170C Wi-Fi模块中发现多个安全漏洞,可用来劫持无线通信。
Realtek RTL8710C模块是基于Cortex M3处理器的,RTL8710C中不包含ADC/DAC模块、GPIO端口也少,能耗也低,广泛用于农业、能源、游戏、健康、智能家居等设备中。近日,研究人员在Realtek RTL8170C Wi-Fi模块中发现了多个安全漏洞。攻击者利用这些漏洞可以在受害者设备上进行权限提升,并劫持无线网络通信。
漏洞存在于该模块的WPA2握手机制中,研究人员发现其握手机制易受到2个基于栈的缓冲区溢出漏洞,漏洞CVE编号为CVE-2020-27301和CVE-2020-27302。这两个漏洞的利用都需要攻击者知道网络的PSK,然后攻击者滥用其来获取WPA2客户端上的远程代码执行。
CVE-2020-27301漏洞
在WPA2 4次握手中,EAPOL帧中会产生一次密钥交换。在密钥交换过程中,Realtek WPA2客户端会调用ClientEAPOLKeyRecvd来处理该数据包。而ClientEAPOLKeyRecvd会调用DecGTK()函数解密GTK (Group Temporal Key)。而在DecGTK()中,会有一个不安全的AES_UnWRAP()被调用。漏洞就存在于该函数的调用中。
漏洞影响所有使用该组件来连接诶WiFi网络的嵌入式设备和IoT设备中。攻击者利用该漏洞要求与受害者设备处于同一WiFi网络下,攻击者成功利用该漏洞可以完全控制WiFi模块,并可能获取嵌入式设备操作系统的root 权限。
CVE-2020-27302漏洞
CVE-2020-27302漏洞是WPA2密钥分析中的栈溢出漏洞,CVSS 评分8.0分。研究人员通过修改开源的hostapd来实现漏洞利用。PoC中攻击者作为AP,发送恶意的加密的GTK给通过WPA2连接的任意客户端:
PoC视频证明了该栈溢出漏洞,并最终将返回地址覆写为无效地址(0x95f98179)。因为缓存是通过AES解密的,所以该地址是随机地址,因为攻击者知道所有的加密参数,因此可以精准控制返回地址。
更多技术细节参见:https://www.vdoo.com/blog/realtek-wifi-vulnerabilities-zero-day
本文翻译自:https://thehackernews.com/2021/06/researchers-warn-of-critical-bugs.html