更新BIND DNS伺服器修復遠端程式碼執行漏洞

已發布 BIND DNS 伺服器 9.11.31 和 9.16.15 的穩定分支以及正在開發的實驗分支 9.17.12 的修正更新。 新版本解決了三個漏洞,其中之一 (CVE-2021-25216) 會導致緩衝區溢位。 在 32 位元系統上,可利用該漏洞透過傳送特製的 GSS-TSIG 請求來遠端執行攻擊者的程式碼。 在 64 位元系統上,問題僅限於指定進程的崩潰。

只有在啟用 GSS-TSIG 機制(使用 tkey-gssapi-keytab 和 tkey-gssapi-credential 設定啟動)時,才會出現此問題。 GSS-TSIG 在預設設定中處於停用狀態,通常用於 BIND 與 Active Directory 網域控制器結合使用的混合式環境,或與 Samba 整合時。

此漏洞是由 SPNEGO(簡單且受保護的 GSSAPI 協商機制)機制的實作中的錯誤引起的,該機制在 GSSAPI 中用於協商客戶端和伺服器使用的保護方法。 GSSAPI 用作安全金鑰交換的高級協議,使用在驗證動態 DNS 區域更新過程中使用的 GSS-TSIG 擴充。

由於先前已發現 SPNEGO 內建實作中的嚴重漏洞,因此該協定的實作已從 BIND 9 程式碼庫中刪除。對於需要 SPNEGO 支援的用戶,建議使用 GSSAPI 提供的外部實作系統函式庫(在MIT Kerberos 和Heimdal Kerberos 中提供)。

舊版BIND 的使用者作為阻止問題的解決方法,可以在設定中停用GSS-TSIG(選項tkey-gssapi-keytab 和tkey-gssapi-credential)或在不支援SPNEGO 機制的情況下重建BIND(選項「- ”) -disable-isc-spnego”在腳本“配置”中)。 您可以在以下頁面上追蹤發行版中更新的可用性:Debian、SUSE、Ubuntu、Fedora、Arch Linux、FreeBSD、NetBSD。 RHEL 和 ALT Linux 軟體套件是在沒有本機 SPNEGO 支援的情況下建置的。

此外,相關 BIND 更新中還修復了另外兩個漏洞:

  • CVE-2021-25215 — 處理 DNAME 記錄(部分子域的重定向處理)時命名進程崩潰,導致 ANSWER 部分新增重複項。 在權威DNS伺服器上利用該漏洞需要對處理的DNS區域進行更改,而對於遞歸伺服器,聯繫權威伺服器後即可取得有問題的記錄。
  • CVE-2021-25214 – 處理特製的傳入 IXFR 請求(用於在 DNS 伺服器之間增量傳輸 DNS 區域中的變更)時,指定進程崩潰。 此問題僅影響允許來自攻擊者伺服器的 DNS 區域傳輸的系統(通常區域傳輸用於同步主伺服器和從伺服器,並且僅選擇性地允許可信賴的伺服器)。 作為安全解決方法,您可以使用「request-ixfr no;」設定來停用 IXFR 支援。

來源: opennet.ru

添加評論