NewStart CGSL MAIN 6.02:dnsmasq 多個弱點 (NS-SA-2021-0125)

high Nessus Plugin ID 154463

語系:

概要

遠端 NewStart CGSL 主機受到多個弱點影響。

說明

執行 MAIN 6.02 版的遠端 NewStart CGSL 主機上安裝的 dnsmasq 套件受到多個弱點影響:

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。在使用 DNSSEC 資料驗證之前,對 RRSets 進行排序的方式中發現堆積型緩衝區溢位問題。如果網路上的攻擊者可偽造被視為有效的 DNS 回應,則可利用此缺陷造成堆積記憶體區段中的任意資料發生緩衝區溢位,進而可能在電腦上執行程式碼。此弱點對於資料的機密性和完整性以及系統可用性威脅最大。
(CVE-2020-25681)

- 在 dnsmasq 2.83 之前的版本中發現一個缺陷。在 dnsmasq 使用 DNSSEC 資料驗證 DNS 封包之前,擷取其名稱的方式中發現緩衝區溢位弱點。如果網路上的攻擊者可建立有效 DNS 回應,則可利用此缺陷造成堆積配置記憶體中的任意資料發生緩衝區溢位,進而可能在電腦上執行程式碼。缺陷位於 rfc1035.c: extract_name() 函式中,假設 MAXDNAME*2 位元組可在緩衝區中使用,該函式會將資料寫入至名稱所指向的記憶體。不過,在某些程式碼執行路徑中,有可能從基礎緩衝區傳遞 extract_name(),進而實際減少可寫入緩衝區的可用位元組數目。此弱點對於資料的機密性和完整性以及系統可用性威脅最大。(CVE-2020-25682)

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。如果 DNSSEC 已啟用,在其驗證收到的 DNS 項目之前,dnsmasq 中發現堆積型緩衝區溢位問題。如果遠端攻擊者可建立有效 DNS 回覆,則可利用此缺陷,造成堆積配置記憶體中發生溢位。這是 rfc1035.c: extract_name() 中缺少長度檢查所致,有心人士可濫用此缺陷使程式碼在 get_rdata() 中以負大小執行 memcpy() 並造成 dnsmasq 損毀,進而導致拒絕服務。此弱點對系統可用性威脅最大。(CVE-2020-25683)

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。當從轉送的查詢取得回覆時,若擱置轉送查詢使用回覆目的地位址/連接埠,則 dnsmasq 會在 forward.c:reply_query() 中檢查。不過,查詢不會使用位址/連接埠來擷取確切的轉送查詢,進而大幅減少網路上攻擊者為偽造回覆並讓 dnsmasq 接受回覆而必須執行的嘗試次數。此問題與 RFC5452 相反,因其會指定查詢的屬性,而所有屬性都必須用來比對回覆。此瑕疵可讓攻擊者發動 DNS 快取毒害攻擊。如果與 CVE-2020-25685 或 CVE-2020-25686 鏈結,則會降低成功攻擊的攻擊複雜度。此弱點對資料完整性的威脅最大。(CVE-2020-25684)

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。當從轉送的查詢取得回覆時,dnsmasq 會在 forward.c:reply_query() 中檢查,即符合回覆的轉送查詢,且僅使用查詢名稱的弱式雜湊。由於弱式雜湊 (當在沒有 DNSSEC 的情況下編譯 dnsmasq 時為 CRC32,反之則為 SHA-1),此瑕疵會允許路徑外攻擊者找到數個具有相同雜湊的不同網域,進而大幅減少網路上攻擊者為偽造回覆並讓 dnsmasq 接受回覆而必須執行的嘗試次數。此問題與 RFC5452 相反,因其會指定查詢名稱是必須用來比對回覆的查詢屬性之一。此瑕疵會遭到濫用,可讓攻擊者發動 DNS 快取毒害攻擊。如果與 CVE-2020-25684 鏈結,則會降低成功攻擊的攻擊複雜度。
此弱點對資料完整性的威脅最大。(CVE-2020-25685)

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。收到查詢時,dnsmasq 不會針對相同名稱檢查現有的擱置要求,而是會轉送新要求。依預設,最多可將 150 個擱置查詢傳送至上游伺服器,因此相同名稱最多可有 150 個查詢。
此瑕疵允許網路上的路徑外攻擊者大幅減少為偽造回覆並讓 dnsmasq 接受回覆而必須執行的嘗試次數。此問題已在 RFC5452 的「生日攻擊」一節中提及。如果與 CVE-2020-25684 鏈結,則會降低成功攻擊的攻擊複雜度。此弱點對資料完整性的威脅最大。
(CVE-2020-25686)

- 在 2.83 版之前的 dnsmasq 中發現一個缺陷。如果 DNSSEC 已啟用,在其驗證收到的 DNS 項目之前,dnsmasq 中發現堆積型緩衝區溢位問題。如果遠端攻擊者可建立有效 DNS 回覆,則可利用此缺陷,造成堆積配置記憶體中發生溢位。這是 rfc1035.c: extract_name() 中缺少長度檢查所致,有心人士可濫用此缺陷使程式碼在 sort_rrset() 中以負大小執行 memcpy() 並造成 dnsmasq 損毀,進而導致拒絕服務。此弱點對系統可用性威脅最大。(CVE-2020-25687)

請注意,Nessus 並未測試此問題,而是僅依據應用程式自我報告的版本號碼。

解決方案

升級易受弱點影響的 CGSL dnsmasq 套件。請注意,可能尚未出爐已升級的套件。如需詳細資訊,請聯絡 ZTE。

另請參閱

http://security.gd-linux.com/notice/NS-SA-2021-0125

http://security.gd-linux.com/info/CVE-2020-25681

http://security.gd-linux.com/info/CVE-2020-25682

http://security.gd-linux.com/info/CVE-2020-25683

http://security.gd-linux.com/info/CVE-2020-25684

http://security.gd-linux.com/info/CVE-2020-25685

http://security.gd-linux.com/info/CVE-2020-25686

http://security.gd-linux.com/info/CVE-2020-25687

Plugin 詳細資訊

嚴重性: High

ID: 154463

檔案名稱: newstart_cgsl_NS-SA-2021-0125_dnsmasq.nasl

版本: 1.3

類型: local

已發布: 2021/10/27

已更新: 2022/12/5

支援的感應器: Nessus

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: High

基本分數: 8.3

時間分數: 6.1

媒介: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:C

CVSS 評分資料來源: CVE-2020-25682

CVSS v3

風險因素: High

基本分數: 8.1

時間分數: 7.1

媒介: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

時間媒介: CVSS:3.0/E:U/RL:O/RC:C

弱點資訊

CPE: p-cpe:/a:zte:cgsl_main:dnsmasq, p-cpe:/a:zte:cgsl_main:dnsmasq-debuginfo, p-cpe:/a:zte:cgsl_main:dnsmasq-debugsource, p-cpe:/a:zte:cgsl_main:dnsmasq-utils, p-cpe:/a:zte:cgsl_main:dnsmasq-utils-debuginfo, cpe:/o:zte:cgsl_main:6

必要的 KB 項目: Host/local_checks_enabled, Host/ZTE-CGSL/release, Host/ZTE-CGSL/rpm-list, Host/cpu

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2021/9/24

弱點發布日期: 2021/1/19

參考資訊

CVE: CVE-2020-25681, CVE-2020-25682, CVE-2020-25683, CVE-2020-25684, CVE-2020-25685, CVE-2020-25686, CVE-2020-25687

IAVA: 2021-A-0041