Amazon Linux 2023:golang、golang-bin、golang-misc (ALAS2023-2023-048)

critical Nessus Plugin ID 173069

概要

遠端 Amazon Linux 2023 主機缺少一個安全性更新。

說明

因此,它受到 ALAS2023-2023-048 公告中所提及的多個弱點影響。

- 在 Go 1.15.13 版和 1.16.x 的 1.16.5 之前版本中,封存/ZIP 中特製的檔案數(在封存的標頭中)可能會導致 NewReader 或 OpenReader 錯誤。(CVE-2021-33196)

- 使用 GOARCH=wasm GOOS=js 時,Go 1.16.9 之前版本和 Go 1.17.x 至 1.17.2 版本會透過大型引數從 WASM 模組叫用函式來造成緩衝區溢位。(CVE-2021-38297)

- 在早於 1.16.10 版的 Go 和早於 1.17.x 版的 Go 1.17.3 中,debug/macho (針對 Open 或 OpenFat) 中的 ImportedSymbols 會存取緩衝區結尾後的記憶體位置,此情形亦即「超出邊界分割」。
(CVE-2021-41771)

- Go 1.16.10 之前版本和 Go 1.17.x 至 1.17.3 版本允許透過建構包含無效名稱或空白檔案名稱欄位的 ZIP 封存造成 archive/zip Reader.Open 錯誤。(CVE-2021-41772)

- 在早於 1.16.12 版的 Go 和早於 1.17.x 版的 Go 1.17.5 中,net/http 允許透過 HTTP/2 要求在標頭標準化快取中消耗不受控制的記憶體。(CVE-2021-44716)

- 由於在檔案描述符號耗儘後錯誤關閉檔案描述符號 0,因此 UNIX 上早於 1.16.12 的 Go 版本和早於 1.17.x 的 Go 1.17.5 版本允許寫入非預定檔案或非預定網路連線。(CVE-2021-44717)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,net/http 中的 HTTP/1 用戶端會接受某些無效的 Transfer-Encoding 標頭,如果配合使用的中繼伺服器與也未正確拒絕此無效標頭,則可以觸發 HTTP 要求走私攻擊。(CVE-2022-1705)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,go/parser 中的 Parse 函式存在不受控制的遞回弱點,攻擊者可藉此透過深度巢狀類型或宣告造成堆疊耗盡,進而引致錯誤。(CVE-2022-1962)

- 在 Go 1.16.14 之前版本和 Go 1.17.x 至 1.17.7 版本中,math/big 的 Rat.SetString 內有溢位問題,可能導致不受控制的記憶體消耗。(CVE-2022-23772)

- 在 Go 1.16.14 之前版本和 1.17.x 至 1.17.7 版本中,cmd/go 會錯誤地將分支名稱解釋為版本標籤。如果執行者能夠建立分支,但不能建立標籤,此弱點有可能會導致不正確的存取控制問題。(CVE-2022-23773)

- 在 Go 1.16.14 之前版本和 Go 1.17.x 至 1.17.7 版本中,crypto/elliptic 內的 Curve.IsOnCurve 在 big.Int 值不是有效欄位元素的情況下,可能會不正確地傳回 true。(CVE-2022-23806)

- 在 Go 1.17.9 之前版本以及 1.18.x 的 1.18.1 之前版本中,encoding/pem 允許透過大量 PEM 資料造成解碼堆疊溢位問題。(CVE-2022-24675)

- Go 1.16.15 之前版本和 Go 1.17.x 至 1.17.8 版本中的 regexp.Compile 允許透過深度巢狀運算式造成堆疊耗盡。(CVE-2022-24921)

- 適用於 Go 的 golang.org/x/crypto/ssh 套件 0.0.0-20220314234659-1baeb1ce4c0b 之前版本在涉及 AddHostKey 的某些情況下允許攻擊者造成伺服器當機。(CVE-2022-27191)

- 在 Go 1.18.6 之前版本和 1.19.1 之前的 1.19.x 版中,攻擊者可在 net/http 中造成拒絕服務,這是因爲如果嚴重錯誤先於關機操作執行,則 HTTP/2 連線可能在關閉期間懸置。(CVE-2022-27664)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,encoding/gob 的 Decoder.Decode 中存在不受控制的遞回弱點,攻擊者可藉此透過包含深度巢狀結構的 XML 文件來造成堆疊耗盡,進而引致錯誤。(CVE-2022-28131)

- 在 Go 1.17.9 之前版本以及 1.18.x 的 1.18.1 之前版本中,crypto/elliptic 的一般 P-256 特徵允許透過長純量輸入造成錯誤。(CVE-2022-28327)

- Reader.Read 未設定檔案標頭的大小上限。攻擊者可透過惡意特製的封存造成 Read 配置無限量的記憶體,這可能引致資源耗盡或錯誤。
修正後,Reader.Read 會將標頭區塊的大小上限限制為 1 MiB。(CVE-2022-2879)

- 在 Go 1.17.10 之前版本和 1.18.2 之前的 1.18.x 版本中具有不正確的權限指派。使用非零旗標參數呼叫時,Faccessat 函式可能會錯誤報告檔案可供存取。
(CVE-2022-29526)

- 在 Go 1.17.11 之前版本和 1.18.3 版本中,crypto/tls 爲工作階段票證中的 ticket_age_add 使用非隨機值,因此,可觀察 TLS 交握的攻擊者能夠透過在工作階段恢復期間比較票證期限來關聯連續的連線。(CVE-2022-30629)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,io/fs 的 Glob 中存在不受控制的遞回弱點,攻擊者可藉此透過包含大量路徑分隔符號的路徑造成堆疊耗盡,進而引致錯誤。
(CVE-2022-30630)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,compress/gzip 的 Reader.Read 中存在不受控制的遞回弱點,攻擊者可藉此透過含有大量串連長度為 0 的壓縮檔案的封存造成堆疊耗盡,進而引致錯誤。(CVE-2022-30631)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,path/filepath 的 Glob 中存在不受控制的遞回弱點,攻擊者可藉此透過包含大量路徑分隔符號的路徑造成堆疊耗盡,進而引致錯誤。
(CVE-2022-30632)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,encoding/xml 的 Unmarshal 中存在不受控制的遞回弱點,攻擊者可藉此透過將 XML 文件解組到具有使用「any」欄位標籤的巢狀欄位的 Go 結構中來造成堆疊耗盡,進而引致錯誤。(CVE-2022-30633)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,encoding/gob 的 Decoder.Decode 中存在不受控制的遞回弱點,攻擊者可藉此透過包含深度巢狀結構的訊息來造成堆疊耗盡,進而引致錯誤。
(CVE-2022-30635)

- 在 Go 1.17.12 之前版本和 Go 1.18.4 版中,net/http 中存在不當暴露用戶端 IP 位址的弱點,藉由使用包含 nil 值的 Request.Header 對應爲 X-Forwarded-For 標頭呼叫 httputil.ReverseProxy.ServeHTTP 可以觸發此弱點,造成 ReverseProxy 將用戶端 IP 設定為 X-Forwarded-For 標頭的值。(CVE-2022-32148)

- 在 Go 1.17.13 之前版本和 1.18.5 版中,編碼訊息太短可造成 math/big 中的 Float.GobDecode 和 Rat GobDecode 發生錯誤,進而可能導致拒絕服務。(CVE-2022-32189)

- JoinPath 和 URL.JoinPath 不會移除附加到相對路徑的 ../ path 元素。例如,儘管 JoinPath 文件指出「已從結果中移除 ../ path 元素」,但 JoinPath(https://go.dev, ../go) 仍會傳回 URL https://go.dev/../go。(CVE-2022-32190)

- 編譯來自非受信任來源的規則運算式的程式可能容易受到記憶體耗盡或拒絕服務攻擊。剖析的規則運算式的表示法與輸入的大小成線性關係,但在某些情況下,常數因子可高達 40,000,使得相對較小的 regexp 會消耗大量記憶體。修正後,將每個要剖析的規則運算式的記憶體佔用量都限制為 256 MB。如果表示法佔用的空間超過限制,此規則運算式會遭到拒絕。正常使用的規則運算式不受影響。(CVE-2022-41715)

- 由於未清理 NUL 值,攻擊者可能能夠在 Windows 上惡意設定環境變數。
在 syscall.StartProcess 和 os/exec.Cmd 中,未正確檢查包含 NUL 值的無效環境變數值。惡意的環境變數值可利用此行為,為不同的環境變數設定值。例如,環境變數字串 A=B\x00C=D 設定變數 A=B 和 C=D。 (CVE-2022-41716)

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

解決方案

執行「dnf update golang --releasever=2023.0.20230222」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2023/ALAS-2023-048.html

https://alas.aws.amazon.com/faqs.html

https://alas.aws.amazon.com/cve/html/CVE-2021-33196.html

https://alas.aws.amazon.com/cve/html/CVE-2021-38297.html

https://alas.aws.amazon.com/cve/html/CVE-2021-41771.html

https://alas.aws.amazon.com/cve/html/CVE-2021-41772.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44716.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44717.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1705.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1962.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23772.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23773.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23806.html

https://alas.aws.amazon.com/cve/html/CVE-2022-2879.html

https://alas.aws.amazon.com/cve/html/CVE-2022-24675.html

https://alas.aws.amazon.com/cve/html/CVE-2022-24921.html

https://alas.aws.amazon.com/cve/html/CVE-2022-27191.html

https://alas.aws.amazon.com/cve/html/CVE-2022-27664.html

https://alas.aws.amazon.com/cve/html/CVE-2022-28131.html

https://alas.aws.amazon.com/cve/html/CVE-2022-28327.html

https://alas.aws.amazon.com/cve/html/CVE-2022-29526.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30629.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30630.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30631.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30632.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30633.html

https://alas.aws.amazon.com/cve/html/CVE-2022-30635.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32148.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32189.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32190.html

https://alas.aws.amazon.com/cve/html/CVE-2022-41715.html

https://alas.aws.amazon.com/cve/html/CVE-2022-41716.html

Plugin 詳細資訊

嚴重性: Critical

ID: 173069

檔案名稱: al2023_ALAS2023-2023-048.nasl

版本: 1.5

類型: local

代理程式: unix

已發布: 2023/3/21

已更新: 2023/12/12

支援的感應器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.9

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

CVSS 評分資料來源: CVE-2021-38297

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 8.8

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

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

弱點資訊

CPE: p-cpe:/a:amazon:linux:golang, p-cpe:/a:amazon:linux:golang-bin, p-cpe:/a:amazon:linux:golang-docs, p-cpe:/a:amazon:linux:golang-misc, p-cpe:/a:amazon:linux:golang-race, p-cpe:/a:amazon:linux:golang-shared, p-cpe:/a:amazon:linux:golang-src, p-cpe:/a:amazon:linux:golang-tests, cpe:/o:amazon:linux:2023

必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2023/2/17

弱點發布日期: 2021/8/2

參考資訊

CVE: CVE-2021-33196, CVE-2021-38297, CVE-2021-41771, CVE-2021-41772, CVE-2021-44716, CVE-2021-44717, CVE-2022-1705, CVE-2022-1962, CVE-2022-23772, CVE-2022-23773, CVE-2022-23806, CVE-2022-24675, CVE-2022-24921, CVE-2022-27191, CVE-2022-27664, CVE-2022-28131, CVE-2022-28327, CVE-2022-2879, CVE-2022-29526, CVE-2022-30629, CVE-2022-30630, CVE-2022-30631, CVE-2022-30632, CVE-2022-30633, CVE-2022-30635, CVE-2022-32148, CVE-2022-32189, CVE-2022-32190, CVE-2022-41715, CVE-2022-41716

IAVB: 2021-B-0069-S, 2022-B-0025-S, 2022-B-0042-S, 2022-B-0046-S