記憶體安全週報第29期|數百萬臺裝置暴露於允許DNS劫持的DNSpooq漏洞

安芯網盾發表於2021-01-27

系統存在0day、nday漏洞,而且無法避免。而在漏洞暴露前根本沒補丁、或有些系統不能打補丁、或不能及時打補丁,這都會導致風險的發生,攻擊程式碼仍然可以在記憶體中執行。 


安芯網盾記憶體安全週報專欄,幫助企業更好的理解和認識到記憶體安全問題,希望能幫助使用者有效應對系統設計缺陷、外部入侵等威脅,透過普及記憶體保護技術,幫助使用者實現在未打補丁情況下,也能夠極大減少因漏洞攻擊而遭受到風險。


七個Dnsmasq漏洞被披露,攻擊者可劫持數百萬個裝置上的DNS。


1月18日,七個Dnsmasq漏洞(統稱為DNSpooq)被披露,攻擊者可利用該漏洞對數百萬受影響的裝置發起DNS快取中毒、遠端執行程式碼和DoS攻擊(拒絕服務)。


詳細資訊


Dnsmasq是一使用廣泛並且開放原始碼的域名系統(DNS)轉發軟體,它向物聯網和其他各種嵌入式裝置新增了DNS快取和動態主機配置協議伺服器功能。利用DNSpooq安全漏洞,攻擊者不需要任何異常的技術或者工具就可以非常容易實施攻擊行為。 

相關cve及其描述如下所示:

名稱

CVSS

描述

CVE-2020-25681

8.1

當使用DNSSEC時,2.83之前的Dnsmasq版本容易受到sort_rrset()中基於堆的緩衝區溢位的影響。

這可以使遠端攻擊者將任意資料寫入目標裝置的記憶體,這可能導致目標裝置上的記憶體損壞和其他意外行為。

CVE-2020-25682

8.1

啟用DNSSEC時,由於缺少長度檢查,2.83之前的Dnsmasq版本易於在extract_name()函式中發生緩衝區溢位。

這可以允許遠端攻擊者在目標裝置上造成記憶體損壞。

CVE-2020-25683

5.9

啟用DNSSEC時,2.83之前的Dnsmasq版本容易出現基於堆的緩衝區溢位。有能力建立有效DNS回覆的遠端攻擊者可以利用此漏洞在堆分配的記憶體中引起溢位。此缺陷是由rfc1035.cextract_name()中缺少長度檢查引起的,這可能被攻擊者濫用,使程式碼以get_rdata()中的負大小執行memcpy(),並導致dnsmasq崩潰,從而導致DoS攻擊。

CVE-2020-25687

5.9

啟用DNSSEC時,2.83之前的Dnsmasq版本容易受到sort_rrset()中具有大型memcpy的基於堆的緩衝區溢位的攻擊。有能力建立有效DNS回覆的遠端攻擊者,可以利用此漏洞在堆分配的記憶體中引起溢位。此缺陷是由rfc1035.cextract_name()中缺少長度檢查引起的,這可能被濫用,使程式碼在sort_rrset()中以負大小執行memcpy(),並導致dnsmasq崩潰,從而導致DoS攻擊。

CVE-2020-25684

4

Dnsmasq版本中缺少正確的地址/埠檢查

CVE-2020-25685

4

2.83 Reply_query函式之前的dnsmasq版本中,缺少查詢資源名稱(RRNAME)檢查,遠端攻擊者可以利用該檢查欺騙DNS流量,導致DNS快取中毒。

CVE-2020-25686

4

Dnsmasq 2.83之前版本對同一資源名稱(RRNAME)的多個DNS查詢請求允許遠端攻擊者使用生日攻擊(RFC 5452)欺騙DNS流量,這可能導致DNS快取中毒。


根據Shodan的資料顯示 ,目前Internet上有超過100萬個Dnsmasq伺服器公開,數量最多的國家依次是中國、美國、印度和南非。DNSpooq的維護者Simon Kelley建議所有使用dnsmasq使用者升級到2.83版。

新聞來源:

https://www.bleepingcomputer.com/news/security/list-of-dnspooq-vulnerability-advisories-patches-and-updates/


專家點評#記憶體安全資深專家 xhbuming 

我們看到7個Dnsmasq漏洞中,前4個漏洞(CVE-2020-25681,CVE-2020-25682,CVE-2020-25683和CVE-2020-25687)均為記憶體破壞型漏洞,攻擊者可以Dnsmasq的DNSSEC程式碼中的緩衝區溢位進行攻擊行為。建議對關鍵固定IP的主機使用IP或者HOSTS繫結方式訪問網路服務,防止DNS伺服器被攻擊後,被域名劫持而造成客戶資訊洩露,並且DNS伺服器要及時更新軟體安全補丁;也可使用安芯神甲智慧保護系統防護緩衝區溢位攻擊。


相關文章