DNS曝高危漏洞,影響數百萬物聯網設備
近日,Nozomi Networks發出警告,uClibc庫的域名系統 (DNS) 組件中存在一個高危漏洞,編號為CVE-2022-05-02,該漏洞將影響所有版本uClibc-ng庫的域名系統(DNS),因此,數百萬臺使用uClibc庫的物聯網設備都也將受到影響。
資料顯示,uClibc庫專門為OpenWRT設計的一個分支,OpenWRT 是用于各種關鍵基礎設施部門的路由器的通用操作系統。
通過該漏洞,攻擊者可以進行DNS中毒或DNS欺騙攻擊,并將受害者重定向到惡意網站而不是合法網站。Nozomi Networks在報告中寫到,該漏洞是由庫生成的DNS請求中包含的事務ID的可預測性引起,可能允許攻擊者對目標設備執行DNS中毒攻擊。
目前,uClibc庫被廣泛應用于各大廠商,包括Linksys、Netgear和Axis,或嵌入式Gentoo等Linux發行版。安全專家尚未透露該漏洞的細節,因為供應商暫時沒有解決該問題。
Nozomi的研究人員通過查看物聯網設備在其測試環境中執行的DNS請求跟蹤發現了這個問題。他們從Wireshark
的輸出中確定執行DNS請求的模式,事務ID首先是遞增的,然后重置為0x2值,然后再次遞增。請求的事務ID是可預測的,這種情況可能允許攻擊者在某些情況下發起DNS中毒攻擊。
研究人員分析了可執行文件,發現創建DNS請求的問題出現在C標準庫uClibc 的0.9.33.2版本。
Nozomi報告中寫到,研究人員通過源代碼審查發現,uClibc庫通過調用位于源文件“/libc/inet/resolv.c”中的內部“__dns_lookup”函數來實現DNS請求。鑒于交易ID的可預測性,攻擊者想要利用該漏洞,就需要制作包含正確源端口的DNS響應,并贏得來自DNS服務器的合法DNS響應的競爭。由于該函數不應用任何顯式源端口隨機化,如果操作系統配置為使用固定或可預測的源端口,則很可能以可靠的方式輕松利用該問題。
如果操作系統使用源端口的隨機化,則利用該問題的唯一方法是通過發送多個DNS響應,暴力破解16位源端口值,同時贏得與合法響應的競爭。
最后,Nozomi報告總結道,截止該報告發布時,該漏洞仍未修復。開發者似乎無法修復該漏洞,自2022年1月以來,CERT/CC 向200多家受邀參與VINCE案例的供應商披露了該漏洞,并在公開發布前30天通知他們。