Dnsmasq中發現的漏洞允許欺騙DNS緩存中的內容

最近,有關 在Dnsmasq軟件包中發現了7個漏洞, 它結合了一個緩存的DNS解析器和DHCP服務器,它們被分配了代號DNSpooq。 問題允許惡意DNS緩存攻擊或緩衝區溢出 可能導致遠程執行攻擊者的代碼。

即使最近 默認情況下,Dnsmasq在常規Linux發行版中不再用作求解器,但仍在Android中使用 以及OpenWrt和DD-WRT等專業發行版以及許多製造商的無線路由器固件。 在正常發行版中,可能會隱式使用dnsmasq,例如,在使用libvirt時,可以啟動它來在虛擬機上提供DNS服務,也可以通過更改NetworkManager配置器中的設置來激活它。

由於無線路由器升級文化尚有很多不足之處, 研究人員擔心發現的問題可能仍未解決 長期以來,它將參與對路由器的自動攻擊,以控制它們或將用戶重定向到惡意惡意站點。

有大約40個基於Dnsmasq的公司包括Cisco,Comcast,Netgear,Ubiquiti,Siemens,Arista,Technicolor,Aruba,Wind River,Asus,AT&T,D-Link,華為,Juniper,Motorola,Synology,Xiaomi,ZTE和Zyxel。 可以警告此類設備的用戶不要使用其上提供的常規DNS查詢重定向服務。

第一部分漏洞 在Dnsmasq發現 是指針對DNS緩存中毒攻擊的防護, 基於Dan Kaminsky在2008年提出的方法。

發現的問題使現有保護無效 並允許欺騙緩存中任意域的IP地址。 Kaminsky的方法可控制DNS查詢ID字段的大小可忽略,只有16位。

要找到欺騙主機名所需的正確標識符,只需發送大約7.000個請求並模擬大約140.000個虛假響應即可。 攻擊歸結為向DNS解析器發送了大量偽造的IP綁定數據包 具有不同的DNS事務標識符。

識別出的漏洞降低了32位熵級別 預計需要猜測19位,這使得高速緩存中毒攻擊非常現實。 另外,dnsmasq對CNAME記錄的處理使其可以欺騙CNAME記錄鏈,從而一次可以有效欺騙多達9個DNS記錄。

  • CVE-2020-25684: 在處理來自外部服務器的DNS響應時,缺少對請求ID以及IP地址和端口號的驗證。 此行為與RFC-5452不兼容,RFC-XNUMX要求在匹配響應時使用其他請求屬性。
  • CVE-2020-25686: 缺少對具有相同名稱的未決請求的驗證,從而允許使用生日方法來顯著減少偽造響應所需的嘗試次數。 結合CVE-2020-25684漏洞,此功能可以大大降低攻擊的複雜性。
  • CVE-2020-25685: 在不使用DNSSEC進行編譯的情況下(SHA-32與DNSSEC配合使用),在驗證響應時使用不可靠的CRC1哈希算法。 通過允許您利用與目標域具有相同CRC32哈希的域,可以利用此漏洞來大大減少嘗試次數。
  • 第二組問題(CVE-2020-25681,CVE-2020-25682,CVE-2020-25683和CVE-2020-25687)是由在處理某些外部數據時導致緩衝區溢出的錯誤引起的。
  • 對於CVE-2020-25681和CVE-2020-25682漏洞,有可能創建可能導致系統上代碼執行的漏洞利用。

最後提到 Dnsmasq更新2.83中解決了漏洞 解決方法是,建議使用命令行選項禁用DNSSEC和查詢緩存。

來源: https://kb.cert.org


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。