Oracle Linux 8:ol8addon (ELSA-2022-24267)

high Nessus Plugin ID 168151

概要

遠端 Oracle Linux 主機缺少一個或多個安全性更新。

說明

遠端 Oracle Linux 8 主機中安裝的套件受到 ELSA-2022-24267 公告中提及的多個弱點影響。

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

- ReverseProxy 轉送的要求包含來自傳入要求的原始查詢參數,包括 net/http 拒絕的無法剖析的參數。當 Go Proxy 轉送具有無法剖析的值的參數時,可以觸發查詢參數走私。修正後,在 ReverseProxy 之後設定傳出要求的 Form 欄位時,ReverseProxy 會清理轉送的查詢中的查詢參數。Director 函式傳回,表示 Proxy 已剖析此查詢參數。不剖析查詢參數的 Proxy 會繼續原封不動地轉送原始查詢參數。(CVE-2022-2880)

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

- 在 Go 1.17.12 之前版本以及 1.18.4 之前的 1.18.x 版中,透過深度巢狀 XML 文件可造成 encoding/xml 中的 Decoder.Skip 發生堆疊耗盡和錯誤。(CVE-2022-28131)

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

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

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

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

- 在 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)

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

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

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

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

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

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

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

解決方案

更新受影響的套件。

另請參閱

https://linux.oracle.com/errata/ELSA-2022-24267.html

Plugin 詳細資訊

嚴重性: High

ID: 168151

檔案名稱: oraclelinux_ELSA-2022-24267.nasl

版本: 1.7

類型: local

代理程式: unix

已發布: 2022/11/23

已更新: 2023/10/2

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

風險資訊

VPR

風險因素: Medium

分數: 4.4

CVSS v2

風險因素: High

基本分數: 7.8

時間分數: 6.1

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

CVSS 評分資料來源: CVE-2022-41716

CVSS v3

風險因素: High

基本分數: 7.5

時間分數: 6.7

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

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

弱點資訊

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:delve, p-cpe:/a:oracle:linux:go-toolset, p-cpe:/a:oracle:linux:golang, p-cpe:/a:oracle:linux:golang-bin, p-cpe:/a:oracle:linux:golang-docs, p-cpe:/a:oracle:linux:golang-misc, p-cpe:/a:oracle:linux:golang-race, p-cpe:/a:oracle:linux:golang-src, p-cpe:/a:oracle:linux:golang-tests

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2022/11/23

弱點發布日期: 2022/7/13

參考資訊

CVE: CVE-2022-1705, CVE-2022-1962, CVE-2022-27664, CVE-2022-28131, CVE-2022-2879, CVE-2022-2880, 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: 2022-B-0025-S, 2022-B-0042-S, 2022-B-0046-S