NewStart CGSL MAIN 6.02:glibc 多個弱點 (NS-SA-2021-0053)

critical Nessus Plugin ID 147282

語系:

概要

遠端機器受到多個弱點的影響。

說明

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

- 在 libidn 1.33 之前的版本中,lib/idna.c 的 idna_to_ascii_4i 函式允許內容相依的攻擊者透過 64 位元組的輸入造成拒絕服務 (超出邊界讀取和當機)。(CVE-2016-6261)

- 在 libidn 1.33 之前的版本中, lib/nfkc.c 的 stringprep_utf8_nfkc_normalize 函式允許內容相依的攻擊者透過建構的 UTF-8 資料造成拒絕服務 (超出邊界讀取和當機)。
(CVE-2016-6263)

- 可透過 LD_HWCAP_MASK 環境變數造成 glibc 2.1.1 (發佈於 1999 年 5 月 24 日) 中發生記憶體洩漏並放大其影響。請注意,若針對 CVE-2017-1000366 進行修補,則多個 glibc 版本都不會受到此問題的影響。(CVE-2017-1000408)

- glibc 2.5 (發佈於 2006 年 9 月 29 日) 中存在緩衝區溢位,可透過 LD_LIBRARY_PATH 環境變數觸發。請注意,若針對 CVE-2017-1000366 進行修補,則多個 glibc 版本都不會受到此問題的影響。(CVE-2017-1000409)

- 在 Libidn2 2.0.4 之前的版本中,puny_decode.c 的 decode_digit 函式中存在整數溢位,遠端攻擊者可藉此造成拒絕服務,也可能造成其他不明影響。 (CVE-2017-14062)

- GNU C 程式庫 (亦即 glibc 或 libc6) 2.27 之前的版本中存在差一錯誤,可導致 glob.c 的 glob 函式中發生堆積型緩衝區溢位,這與使用後跟長字串的 ~ 運算子處理主目錄有關。(CVE-2017-15670)

- 在 GNU C 程式庫 (亦即 glibc 或 libc6) 2.27 之前的版本中,glob.c 的 glob 函式在具有 ~ 運算子的使用者名稱解除逸出期間發生緩衝區溢位問題。(CVE-2017-15804)

- 在 GNU C 程式庫 (亦即 glibc 或 libc6) 2.19 至 2.26 版中,elf/dl-load.c 未針對具權限的 (setuid 或 AT_SECURE) 程式,正確處理含有 $ORIGIN 的 RPATH 和 RUNPATH,本機使用者可藉此透過目前工作目錄中的特洛伊木馬程式庫取得權限,這與 fillin_rpath 和 decompose_rpath 函式有關。這與將空 RPATH/RUNPATH 權杖誤解譯為 ./ 目錄有關。注意:針對具權限程式的這一 RPATH/RUNPATH 組態顯然非常罕見;很可能是因為所有常見的 Linux 發行版本都沒有隨附此類程式。(CVE-2017-16997)

- 如果嘗試配置的物件大小接近 SIZE_MAX,GNU C 程式庫 (亦即 glibc 或 libc6) 2.26 中的 malloc 函式會傳回過小的記憶體區塊,進而導致堆積型溢位。這是個別執行緒快取 (即 tcache) 功能啟用的程式碼路徑缺少整數溢位檢查所致。(CVE-2017-17426)

- 在 GNU C 程式庫 (亦即 glibc 或 libc6) 2.21 至 2.27 的 sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S 中,如果來源記憶體範圍跨越位址空間中間,i386 的 SSE2 最佳化 memmove 實作未正確執行重疊的記憶體檢查,導致複製作業產生的資料損毀。這可能會向內容相依的攻擊者洩漏資訊,或者導致拒絕服務或潛在的程式碼執行。(CVE-2017-18269)

- 在 glibc 2.26 及之前的版本中,realpath() 對 getcwd() 的使用會產生混淆,可用於在目的地緩衝區之前寫入,進而導致緩衝區反向溢位並可能執行程式碼。
(CVE-2018-1000001)

- GNU C 程式庫 (亦即 glibc 或 libc6) 2.27 及之前的版本中,stdlib/canonicalize.c 在處理 realpath 函式中非常長的路徑名稱引數時,可能會在 32 位元架構遭遇整數溢位,進而導致堆疊型緩衝區溢位,而且可能會執行任意程式碼。
(CVE-2018-11236)

- GNU C 程式庫 (亦即 glibc 或 libc6) 2.27 及之前的版本中,mempcpy 函式的 AVX-512 最佳化實作可能在目標緩衝區之外寫入資料,進而導致
__mempcpy_avx512_no_vzeroupper 中發生緩衝區溢位。(CVE-2018-11237)

- 在 GNU C 程式庫 (亦即 glibc 或 libc6) 2.28 及之前的版本中,嘗試透過 getaddrinfo() 解析特別建構的主機名稱會導致配置未結束的通訊端描述元。這與 if_nametoindex() 函式有關。(CVE-2018-19591)

- 在 GNU C 程式庫 (亦即 glibc 或 libc6) 2.29 及之前版本中,posix/regexec.c 的 proced_next_node 中存在堆積型緩衝區過度讀取問題,這是嘗試不區分大小寫的規則運算式比對所致。(CVE-2019-9169)

- 如果 80 位長的雙精度函式輸入項中包含非正式位元模式,則 2.32 之前的 GNU C 程式庫 (即 glibc 或 libc6) 可在範圍縮小期間造成堆疊上緩衝區溢位,向 x86 目標上的 sinl 傳送 0x5d414141414141410000 值時即可看到。這與 sysdeps/ieee754/ldbl-96/e_rem_pio2l.c 有關。 (CVE-2020-10029)

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

解決方案

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

另請參閱

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

Plugin 詳細資訊

嚴重性: Critical

ID: 147282

檔案名稱: newstart_cgsl_NS-SA-2021-0053_glibc.nasl

版本: 1.4

類型: local

已發布: 2021/3/10

已更新: 2022/5/10

支援的感應器: Nessus

風險資訊

VPR

風險因素: High

分數: 7.4

CVSS v2

風險因素: High

基本分數: 9.3

時間分數: 7.7

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

CVSS 評分資料來源: CVE-2017-16997

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 9.1

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

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

CVSS 評分資料來源: CVE-2019-9169

弱點資訊

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

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

弱點發布日期: 2016/7/20

可惡意利用

Metasploit (glibc realpath() Privilege Escalation)

參考資訊

CVE: CVE-2016-6261, CVE-2016-6263, CVE-2017-1000408, CVE-2017-1000409, CVE-2017-14062, CVE-2017-15670, CVE-2017-15804, CVE-2017-16997, CVE-2017-17426, CVE-2017-18269, CVE-2018-1000001, CVE-2018-11236, CVE-2018-11237, CVE-2018-19591, CVE-2019-9169, CVE-2020-10029

BID: 92070, 101521, 101535, 102228, 102525, 102913, 102914, 104255, 104256, 106037, 107160