Oracle Linux 8:container-tools:ol8 (ELSA-2024-2988)

high Nessus Plugin ID 197998

概要

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

說明

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

- 在 Go 1.16.5 版以及之前的所有版本中,crypto/tls 套件在進行 RSA 型金鑰交換時,未正確宣告 X.509 憑證中的公開金鑰類型符合預期類型,惡意 TLS 伺服器會藉此造成 TLS 用戶端不穩定。(CVE-2021-34558)

- html/範本套件未套用正確的規則來處理 <script, <!-- 的發生和 </script within JS literals in ><script> 情景。這可能會造成範本剖析器錯誤地認為指令碼上下文被提前終止,進而導致動作不當逸出。攻擊者可利用此弱點來執行 XSS 攻擊。(CVE-2023-39319)

- BuildKit 是一種工具組,可將原始程式碼轉換成有效率、表現力強且可重複的構建成品。惡意 BuildKit 用戶端或前端可特製要求,進而導致 BuildKit 程序因不錯誤而當機。此問題已在 v0.12.5 中修正。作為因應措施,可以避免使用未受信任來源的 BuildKit 前端。(CVE-2024-23650)

- 憑證鏈結中的 RSA 金鑰過大可造成用戶端/伺服器花費大量 CPU 時間來驗證簽章。修正後,交握期間傳輸的 RSA 金鑰大小會被限制為不超過 8192 個位元。根據對公開信任的 RSA 金鑰進行的調查,目前只有三個憑證的金鑰超過此大小,而且這三個憑證似乎都是未主動部署的測試憑證。私用 PKI 中可能會使用更大的金鑰,但我們的目標是 Web PKI,因此為了提高 crypto/tls 使用者的預設安全性,在此中斷使用似乎是合理做法。(CVE-2023-29409)

- 在 OpenSSH 9.6 之前版本及其他產品中發現含有特定 OpenSSH 延伸模組的 SSH 傳輸通訊協定,允許遠端攻擊者繞過完整性檢查,導致 (從延伸模組交涉訊息) 省略部分封包,且用戶端和伺服器可能最終建立一種部分安全性功能被降級或停用的連線,即 Terrapin 攻擊。之所以會發生此問題,是因為這些延伸模組實作的 SSH 二進位封包通訊協定 (BPP) 未正確處理交握階段,以及未正確處理序號的使用。例如,有針對 SSH 使用 ChaCha20-Poly1305 (和具有 Encrypt-then-MAC 的 CBC) 的有效攻擊。繞過發生在 [email protected] 和 (若使用 CBC) [email protected] MAC 演算法中。這也會影響 3.1.0-SNAPSHOT 之前的 Maverick Synergy Java SSH API、2022.83 之前的 Dropbear、Ssh Erlang/OTP 中 5.1.1 之前的 Ssh、0.80 之前的 PuTTY、2.14.2 之前的 AsyncSSH、0.17.0 之前的 golang.org/x/crypto,0.10.6 之前的 libssh、1.11.0 及之前的 libssh2、3.4.6 之前的 Thorn Tech SFTP Gateway、5.1 之前的 Tera Term、3.4.0 之前的 Paramiko、0.2.15 之前的 jsch、2.5.6 之前的 SFTPGo、23.09.1 及之前的 Netgate pfSense Plus、2.7.2 之前的 Netgate pfSense CE、18.2.0 之前的 HPN-SSH、1.3.8b (及 1.3.9rc2) 之前的 ProFTPD、2.3.4 之前的 ORYX CycloneSSH、Build 0144 之前的 NetSarang XShell 7、10.6.0 之前的 CrushFTP、2.2.22 之前的 ConnectBot SSH 程式庫、2.11.0 及之前的 Apache MINA sshd、0.37.0 及之前的 sshj、20230101 及之前的 TinySSH、trilead-ssh2 6401、LANCOM LCOS 和 LANconfig、3.66.4 之前的 FileZilla、11.8 之前的 Nova、14.4 之前的 PKIX-SSH、9.4.3 之前的 SecureCRT、5.10.4 之前的 Transmit5、9.5.0.0p1-Beta 之前的 Win32-OpenSSH、6.2.2 之前的 WinSCP、 9.32 之前的 Bitvise SSH Server、9.33 之前的 Bitvise SSH Client、0.76.1.13 及之前的 KiTTY、net-ssh gem 7.2.0 (適用於 Ruby)、1.15.0 之前的 mscdex ssh2 模組 (適用於 Node. js)、0.35.1 之前的 thrussh 程式庫 (適用於 Rust),以及 0.40.2 之前的 Russh crate (適用於 Rust)。(CVE-2023-48795)

- 在 Go 1.20 之前的版本中,RSA 式 TLS 金鑰交換使用的是非常數時間的 math/big 程式庫。已套用 RSA 偽裝以防止計時攻擊,但分析顯示此方法可能並不完全有效。
特別是移除 PKCS#1 填補似乎可能會洩漏計時資訊,進而可用來復原工作階段金鑰位元。在 Go 1.20 中,crypto/tls 程式庫已切換至完全常數時間 RSA 實作,我們認為其不會顯示任何計時旁路通道。(CVE-2023-45287)

- 在 1.15.13 版之前的 Go 和 1.16.x 版之前的 1.16.5,大量使用 math/big.Rat SetString 或 UnmarshalText 方法可能會引起錯誤。(CVE-2021-33198)

- QUIC 連線在讀取交握後訊息時,未設定緩衝資料量的上限,進而允許惡意 QUIC 連線造成記憶體無限增長。修正後,連線現在會持續拒絕大小超過 65KiB 的訊息。(CVE-2023-39322)

- 處理 QUIC 連線的不完整交握後訊息可造成錯誤。(CVE-2023-39321)

- 惡意 HTTP 傳送者可使用區塊延伸模組,造成收件者從要求或回應內文讀取,進而從網路讀取比內文中更多的位元組。惡意 HTTP 用戶端可進一步惡意利用此弱點,在處置程式無法讀取要求的完整內文時,造成伺服器自動讀取大量資料 (最多約 1GiB)。區塊延伸模組是一種很少使用的 HTTP 功能,允許在使用區塊編碼傳送的要求或回應內文中包含其他中繼資料。net/http 區塊編碼讀取器會捨棄此中繼資料。傳送者可藉由插入傳輸每個位元組的大型中繼資料區段,以惡意利用此弱點。如果實際內文與編碼位元組的比例變得過小,區塊讀取器現在即會出現錯誤。(CVE-2023-39326)

- urllib3 是適用於 Python 的人性化 HTTP 用戶端程式庫。先前,當要求方法根據 HTTP RFC 的要求,從可接受要求內文 (如「POST」) 變更為「GET」時,urllib3 便不會在 HTTP 重新導向回應使用狀態 301、302 或 303 時移除 HTTP 要求內文。
雖然此行為並未在重新導向區段中指定,但可藉由拼湊來自不同區段的資訊來推斷出,而且我們已在 curl 和網頁瀏覽器等其他主要 HTTP 用戶端實作中觀察到此行為。由於此弱點需要先前受信任的服務遭到入侵,才能對機密性造成影響,因此我們認為此弱點的可利用性較低。此外,許多使用者並未在 HTTP 要求內文中放置敏感資料,如果是這種情況,則此弱點不會遭到惡意利用。必須滿足以下兩個條件才會受到此弱點影響:1. 使用 urllib3 並提交 HTTP 要求內文中的敏感資訊 (例如表單資料或 JSON),以及 2. 原始服務會遭到入侵,並會開始使用 301、302 或 303 重新導向至惡意對等端,或是出現重新導向至的服務遭到入侵的情況。
此問題已在 1.26.18 和 2.0.7 版中解決,建議使用者更新以解決此問題。無法更新的使用者應使用 `redirects=False` 停用未預期以重新導向回應的服務重新導向,並使用 `redirects=False` 停用自動重新導向,亦可透過去除 HTTP 要求內文來手動處理 301、302 和 303 重新導向。(CVE-2023-45803)

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

- html/template 套件未正確處理類似 HTML 的註解 Token,也未正確處理 <script> 情境中的 hashbang #! 註解 Token。這可能會造成範本剖析器不當解譯 <script> 情境的內容,進而導致動作不當逸出。攻擊者可能會利用此弱點來執行 XSS 攻擊。(CVE-2023-39318)

- urllib3 1.24.2 之前的版本未在進行跨源重新導向 (即,主機、連接埠或配置不同的重新導向) 後移除授權 HTTP 標頭。授權標頭中的憑證可能因此洩漏給非預期的主機,或以純文字格式傳輸。注意:此問題之所以存在,是因為 CVE-2018-20060 (區分大小寫) 的修正不完整。(CVE-2018-25091)

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

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

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

解決方案

更新受影響的套件。

另請參閱

https://linux.oracle.com/errata/ELSA-2024-2988.html

Plugin 詳細資訊

嚴重性: High

ID: 197998

檔案名稱: oraclelinux_ELSA-2024-2988.nasl

版本: 1.3

類型: local

代理程式: unix

已發布: 2024/5/28

已更新: 2024/9/23

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

風險資訊

VPR

風險因素: Medium

分數: 6.1

CVSS v2

風險因素: Medium

基本分數: 5

時間分數: 3.9

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

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

CVSS v3

風險因素: High

基本分數: 7.5

時間分數: 6.7

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

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

CVSS 評分資料來源: CVE-2023-45287

弱點資訊

CPE: p-cpe:/a:oracle:linux:criu-devel, cpe:/a:oracle:exadata_dbserver:23.1.12.0.0::ol8, p-cpe:/a:oracle:linux:containernetworking-plugins, p-cpe:/a:oracle:linux:aardvark-dns, p-cpe:/a:oracle:linux:podman-docker, cpe:/a:oracle:exadata_dbserver:23.1.16.0.0::ol8, cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:podman-plugins, p-cpe:/a:oracle:linux:runc, cpe:/a:oracle:exadata_dbserver:23.1.17.0.0::ol8, p-cpe:/a:oracle:linux:oci-seccomp-bpf-hook, p-cpe:/a:oracle:linux:crun, cpe:/a:oracle:linux:8::appstream, cpe:/a:oracle:exadata_dbserver:24.1.2.0.0::ol8, p-cpe:/a:oracle:linux:libslirp, p-cpe:/a:oracle:linux:criu, cpe:/a:oracle:exadata_dbserver:23.1.13.0.0::ol8, p-cpe:/a:oracle:linux:libslirp-devel, p-cpe:/a:oracle:linux:podman-catatonit, p-cpe:/a:oracle:linux:container-selinux, p-cpe:/a:oracle:linux:netavark, p-cpe:/a:oracle:linux:buildah, p-cpe:/a:oracle:linux:podman-gvproxy, p-cpe:/a:oracle:linux:python3-criu, p-cpe:/a:oracle:linux:skopeo-tests, p-cpe:/a:oracle:linux:conmon, p-cpe:/a:oracle:linux:crit, p-cpe:/a:oracle:linux:containers-common, p-cpe:/a:oracle:linux:cockpit-podman, p-cpe:/a:oracle:linux:slirp4netns, cpe:/a:oracle:linux:8:10:appstream_base, p-cpe:/a:oracle:linux:podman, p-cpe:/a:oracle:linux:criu-libs, cpe:/a:oracle:exadata_dbserver:23.1.14.0.0::ol8, p-cpe:/a:oracle:linux:python3-podman, p-cpe:/a:oracle:linux:fuse-overlayfs, p-cpe:/a:oracle:linux:buildah-tests, cpe:/a:oracle:exadata_dbserver:24.1.3.0.0::ol8, p-cpe:/a:oracle:linux:podman-tests, p-cpe:/a:oracle:linux:podman-remote, p-cpe:/a:oracle:linux:udica, p-cpe:/a:oracle:linux:skopeo

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2024/5/24

弱點發布日期: 2021/7/15

參考資訊

CVE: CVE-2018-25091, CVE-2021-33198, CVE-2021-34558, CVE-2022-2879, CVE-2022-2880, CVE-2022-41715, CVE-2023-29409, CVE-2023-39318, CVE-2023-39319, CVE-2023-39321, CVE-2023-39322, CVE-2023-39326, CVE-2023-45287, CVE-2023-45803, CVE-2023-48795, CVE-2024-23650

IAVA: 2024-A-0071

IAVB: 2021-B-0047-S, 2022-B-0042-S, 2023-B-0064-S, 2023-B-0068-S, 2023-B-0080-S, 2023-B-0096-S