研究人員在Realtek RTL8170C Wi-Fi模塊中發(fā)現(xiàn)多個安全漏洞,可用來劫持無線通信。
Realtek RTL8710C模塊是基于Cortex M3處理器的,RTL8710C中不包含ADC/DAC模塊、GPIO端口也少,能耗也低,廣泛用于農(nóng)業(yè)、能源、游戲、健康、智能家居等設(shè)備中。近日,研究人員在Realtek RTL8170C Wi-Fi模塊中發(fā)現(xiàn)了多個安全漏洞。攻擊者利用這些漏洞可以在受害者設(shè)備上進行權(quán)限提升,并劫持無線網(wǎng)絡(luò)通信。
漏洞存在于該模塊的WPA2握手機制中,研究人員發(fā)現(xiàn)其握手機制易受到2個基于棧的緩沖區(qū)溢出漏洞,漏洞CVE編號為CVE-2020-27301和CVE-2020-27302。這兩個漏洞的利用都需要攻擊者知道網(wǎng)絡(luò)的PSK,然后攻擊者濫用其來獲取WPA2客戶端上的遠程代碼執(zhí)行。
CVE-2020-27301漏洞
在WPA2 4次握手中,EAPOL幀中會產(chǎn)生一次密鑰交換。在密鑰交換過程中,Realtek WPA2客戶端會調(diào)用ClientEAPOLKeyRecvd來處理該數(shù)據(jù)包。而ClientEAPOLKeyRecvd會調(diào)用DecGTK()函數(shù)解密GTK (Group Temporal Key)。而在DecGTK()中,會有一個不安全的AES_UnWRAP()被調(diào)用。漏洞就存在于該函數(shù)的調(diào)用中。
漏洞影響所有使用該組件來連接誒WiFi網(wǎng)絡(luò)的嵌入式設(shè)備和IoT設(shè)備中。攻擊者利用該漏洞要求與受害者設(shè)備處于同一WiFi網(wǎng)絡(luò)下,攻擊者成功利用該漏洞可以完全控制WiFi模塊,并可能獲取嵌入式設(shè)備操作系統(tǒng)的root 權(quán)限。
CVE-2020-27302漏洞
CVE-2020-27302漏洞是WPA2密鑰分析中的棧溢出漏洞,CVSS 評分8.0分。研究人員通過修改開源的hostapd來實現(xiàn)漏洞利用。PoC中攻擊者作為AP,發(fā)送惡意的加密的GTK給通過WPA2連接的任意客戶端:
https://d3u9fi9s7csg1s.cloudfront.net/files/2021-06/Exploiting%20Realtek%20vuln%20-%20take2%20-%20edited.mp4
PoC視頻證明了該棧溢出漏洞,并最終將返回地址覆寫為無效地址(0x95f98179)。因為緩存是通過AES解密的,所以該地址是隨機地址,因為攻擊者知道所有的加密參數(shù),因此可以精準控制返回地址。