FreeBSD、IPnet 和 Nucleus NET 中與 DNS 壓縮實作中的錯誤相關的漏洞

Forescout 研究實驗室和JSOF 研究小組發布了一項聯合研究的結果,該研究針對用於打包DNS、mDNS、DHCP 和IPv6 RA 訊息中重複名稱的壓縮方案的各種實現的安全性(將訊息中的重複域部分打包)包括多個名稱)。 在工作過程中,發現了 9 個漏洞,這些漏洞被總結在代號 NAME:WRECK 下。

FreeBSD 以及網路子系統 IPnet、Nucleus NET 和 NetX 中都已發現問題,這些問題在自動化設備、儲存、醫療設備、航空電子設備、印表機中使用的 VxWorks、Nucleus 和 ThreadX 即時作業系統中已普遍存在。和消費性電子產品。 據估計,至少有 100 億台設備受到該漏洞的影響。

  • FreeBSD 中的漏洞(CVE-2020-7461) 可以透過向與受害者位於同一本地網路的攻擊者發送專門設計的DHCP 封包來組織其程式碼的執行,該封包的處理由易受攻擊的DHCP 客戶端導致到緩衝區溢出。 由於存在漏洞的 dhclient 進程在 Capsicum 沙箱中以重置權限運行,因此需要識別另一個漏洞才能退出,這一事實緩解了該問題。

    該錯誤的本質是對 DHCP 伺服器傳回的帶有 DHCP 選項 119 的封包中的參數檢查不正確,該選項允許您將「網域搜尋」清單傳輸到解析器。 容納解壓縮網域所需的緩衝區大小計算不正確,導致攻擊者控制的資訊被寫入分配的緩衝區之外。 在 FreeBSD 中,這個問題早在去年 XNUMX 月就已經修復了。 僅當您有權存取本機網路時才能利用該問題。

  • RTOS VxWorks 中使用的嵌入式 IPnet 網路堆疊中存在漏洞,由於 DNS 訊息壓縮處理不當,導致 DNS 用戶端上可能存在程式碼執行。 事實證明,這個漏洞早在 2016 年就被 Exodus 首次發現,但從未修復。 向 Wind River 發出的新請求也沒有得到答复,IPnet 設備仍然容易受到攻擊。
  • 在西門子支援的 Nucleus NET TCP/IP 堆疊中發現了六個漏洞,其中兩個可能導致遠端程式碼執行,四個可能導致拒絕服務。 第一個危險問題與解壓縮壓縮 DNS 訊息時的錯誤有關,第二個危險問題與網域標籤的錯誤解析有關。 在處理特殊格式的 DNS 回應時,這兩個問題都會導致緩衝區溢位。

    要利用漏洞,攻擊者只需對易受攻擊的裝置發送的任何合法請求發送專門設計的回應,例如,透過進行 MTIM 攻擊並幹擾 DNS 伺服器與受害者之間的流量。 如果攻擊者可以存取本地網絡,那麼他可以啟動 DNS 伺服器,嘗試透過以廣播模式發送 mDNS 請求來攻擊有問題的裝置。

  • NetX網路堆疊(Azure RTOS NetX)中的漏洞是為ThreadX RTOS開發的,被微軟接管後於2019年開放,僅限於拒絕服務。 該問題是由解析器實作中解析壓縮 DNS 訊息時發生錯誤所造成的。

在經過測試的網路堆疊中,未發現與 DNS 訊息中重複資料壓縮相關的漏洞,下列項目命名為:lwIP、Nut/Net、Zephyr、uC/TCP-IP、uC/TCP-IP、FreeRTOS+TCP 、OpenThread 和FNET。 此外,前兩個(Nut/Net 和 lwIP)根本不支援 DNS 訊息中的壓縮,而其他兩個實作此操作沒有錯誤。 此外,值得注意的是,先前相同的研究人員已經在 Treck、uIP 和 PicoTCP 堆疊中發現了類似的漏洞。

來源: opennet.ru

添加評論