CentOS Linux 7 [TuxCare] 安全性更新:openssl11 / openssl11-devel / openssl11-libs / openssl11-static 多個弱點 (CENTOS7:CLSA-2026:1780683040)

high Nessus Plugin ID 361388

概要

CentOS Linux 主機缺少一個或多個安全性更新。

說明

CentOS Linux 7 主機安裝的套件會受到 TuxCare CENTOS7:CLSA-2026:1780683040 公告中提及的多個弱點影響。

- 為了解密 SM2 加密資料,應用程式應呼叫 API 函式 EVP_PKEY_decrypt()。通常,應用程式會呼叫此函式兩次。第一次進入時,out 參數可以是 NULL,而在結束時,outlen 參數會填入保留解密純文字所需的緩衝區大小。然後,應用程式可以配置足夠大的緩衝區,並再次呼叫 EVP_PKEY_decrypt(),但這次會為 out 參數傳遞一個非 NULL 值。SM2 解密程式碼實作中有一個錯誤,表示保留第一次呼叫 EVP_PKEY_decrypt() 傳回的純文字所需的緩衝區大小計算結果可能小於第二次呼叫所需的實際大小。當應用程式使用過小的緩衝區第二次呼叫 EVP_PKEY_decrypt() 時,這可導致緩衝區溢位。能夠向應用程式呈現 SM2 解密內容的惡意攻擊者可造成攻擊者選擇的資料溢出緩衝區最多 62 個位元組,進而改變保留在緩衝區之後的其他資料內容,這可能會改變應用程式行為或造成應用程式損毀。緩衝區的位置與應用程式相關,但通常是配置的堆積。已在 OpenSSL 1.1.1l 中修正 (受影響的是 1.1.1-1.1.1k)。
(CVE-2021-3711)

- 如果 X.509 憑證包含格式錯誤的原則限制並且已啟用原則處理,則寫入鎖定會遞回進行兩次。在某些作業系統 (最常見的是:Windows) 上,當受影響的進程停擺時,這會導致拒絕服務。在公開伺服器上啟用的原則處理不被視為常見設定。將「-policy」引數傳遞至命令行公用程式,或呼叫「X509_VERIFY_PARAM_set1_policies()」函式,即可啟用原則處理。更新 (2023 年 3 月 31 日): 已根據 CVE-2023-0466更正原則處理啟用的說明。(CVE-2022-3996)

- 問題摘要:以空的受支援用戶端通訊協定緩衝區呼叫 OpenSSL API 函式 SSL_select_next_proto 可能會造成當機或記憶體內容被傳送至對等記憶體。影響摘要:緩衝區過度讀取可造成一系列潛在後果,例如非預期的應用程式行為或當機。
特別是,此問題可導致最多 255 位元組的任意私人資料從記憶體傳送至對等記憶體,進而導致機密性喪失。但是,只有透過 0 長度的受支援用戶端通訊協定清單直接呼叫 SSL_select_next_proto 函式的應用程式才會受到此問題影響。這種情況通常不會發生,而且通常不受攻擊者控制,但在呼叫應用程式中發生設定或程式設計錯誤的情況下可能會意外發生。OpenSSL API 函式 SSL_select_next_proto 通常由支援 ALPN (應用程式層通訊協定交涉) 或 NPN (下一個通訊協定交涉) 的 TLS 應用程式使用。NPN 較舊,從未標準化,並且已由 ALPN 取代。我們認為,ALPN 的部署範圍遠比 NPN 廣泛。SSL_select_next_proto 函式不僅接受來自伺服器的通訊協定清單和來自用戶端的通訊協定清單,還傳回出現在伺服器清單和用戶端清單中的第一個通訊協定。如果兩個清單之間沒有重疊,函式會傳回用戶端清單中的第一個項目。在任何一種情況下,它都會發出是否在兩個清單之間發現重疊情況的訊號。使用零長度用戶端清單呼叫 SSL_select_next_proto 時,它不會注意到此情況,並立即在用戶端清單指標出現之後傳回記憶體 (並報告清單中沒有重疊)。通常,在伺服器端應用程式回呼 ALPN 或用戶端應用程式回呼 NPN 時,才呼叫此函式。就 ALPN 而言,libssl 保證用戶端提供的通訊協定清單長度永遠不會為零。伺服器通訊協定清單來自應用程式,其長度通常不會為零。在這種情況下,如果已按預期呼叫 SSL_select_next_proto 函式 (清單由 client/client_len 參數中傳遞的用戶端提供),應用程式則不會受到此問題的影響。如果應用程式意外被設定了零長度的伺服器清單,並意外在 client/client_len 參數中傳遞了這個零長度的伺服器清單,且無法正確處理無重疊回應 (這通常會導致 ALPN 中發生交握失敗),則容易受到此問題的影響。就 NPN 而言,在沒有重疊的情況下,通訊協定會允許用戶端伺機選取通訊協定。OpenSSL 會在無重疊的情況下傳回第一個用戶端通訊協定以支援此設定。用戶端通訊協定清單來自應用程式,其長度通常不會為零。不過,如果意外以 0 的 client_len 呼叫 SSL_select_next_proto 函式,則會改為傳回無效的記憶體指標。如果應用程式使用此輸出作為伺機性通訊協定,則會發生機密性喪失。此問題已評估為「低」嚴重性,因為如果應用程式使用 NPN 而非 ALPN,但 NPN 並未廣泛使用,則最容易受到影響。應用程式設定或程式設計錯誤也是前提條件。最後,此問題通常不受攻擊者控制,因此不太可能發生主動惡意利用。3.3、3.2、3.1 和 3.0 中的 FIPS 模組不受此問題影響。由於此問題的嚴重性低,因此我們目前不會發佈新版本的 OpenSSL。此修正將在下一版本可用時提供。(CVE-2024-5535)

- 問題摘要:針對具有 BMPString (UTF-16BE) 友好名稱且包含非 ASCII BMP 程式碼點的惡意特製的 PKCS#12 檔案,呼叫 PKCS12_get_friendlyname() 函式時,可能觸發在配置的緩衝區之前進行單一位元組寫入的弱點。時間戳記回應超出邊界寫入問題可造成記憶體損毀,進而導致包括拒絕服務等多種後果。OPENSSL_uni2utf8() 函式會執行從 PKCS#12 BMPString (UTF-16BE) 到 UTF-8 的兩次傳遞轉換。在第二次傳遞中,當發出 UTF-8 位元組時,協助程式函式 bmp_to_utf8() 會錯誤地將剩餘 UTF-16 來源位元組計數作為目的地緩衝區容量轉送至 UTF8_putc()。針對 U+07FF 以上的 BMP 程式碼點,UTF-8 需要三個位元組,但轉送的容量可能只有兩個位元組。UTF8_putc() 之後會傳回 -1,且此負值會在未經驗證的情況下新增至輸出長度,導致長度變成負值。隨後的結尾 NUL 位元組會以負位移寫入,進而造成堆積配置緩衝區之外的寫入。
剖析受攻擊者控制的 PKCS#12 檔案時,可透過公開 PKCS12_get_friendlyname() API 連線至該弱點。當 PKCS12_parse() 使用沒有此問題的不同程式碼路徑時,PKCS12_get_friendlyname() 會直接叫用易受攻擊的函式。若要利用此弱點,攻擊者需要提供惡意的 PKCS#12 檔案以供應用程式剖析,且攻擊者可在配置的緩衝區前觸發一個零位元組寫入。因此,根據我們的安全性原則,將此問題的嚴重性評估為「低危」。3.6、3.5、3.4、3.3 和 3.0 中的 FIPS 模組不受此問題影響,因為 PKCS#12 實作位於 OpenSSL FIPS 模組邊界之外。OpenSSL 3.6、3.5、3.4、3.3、3.0 和 1.1.1 易受此問題影響。OpenSSL 1.0.2 不會受到此問題影響。
(CVE-2025-69419)

- 問題摘要:處理格式錯誤的 PKCS#12 檔案可在 PKCS12_item_decrypt_d2i_ex() 函式中觸發 NULL 指標解除參照。影響摘要:NULL 指標解除參照問題可能會觸發當機,進而導致處理 PKCS#12 檔案的應用程式拒絕服務。PKCS12_item_decrypt_d2i_ex() 函式未檢查 oct 參數是否為 NULL,便將其解除參照。使用格式錯誤的 PKCS#12 檔案從 PKCS12_unpack_p7encdata() 呼叫時,此參數可能為 NULL,進而造成當機。此弱點僅會導致程式拒絕服務,不會造成程式碼執行攻擊或記憶體洩漏。若要惡意利用此問題,攻擊者需要提供格式錯誤的 PKCS#12 檔案給應用程式以進行處理。因此,根據我們的安全性原則,將此問題的嚴重性評估為「低危」。3.6、3.5、3.4、3.3 和 3.0 中的 FIPS 模組不受此問題影響,因為 PKCS#12 實作位於 OpenSSL FIPS 模組邊界之外。OpenSSL 3.6、3.5、3.4、3.3、3.0、1.1.1 和 1.0.2 受此問題影響。(CVE-2025-69421)

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

解決方案

根據 TuxCare 公告 CENTOS7:CLSA-2026:1780683040 中的指引更新受影響的套件。

另請參閱

https://cve.tuxcare.com/els/releases/CLSA-2026:1780683040

http://www.nessus.org/u?5a6d5ba1

Plugin 詳細資訊

嚴重性: High

ID: 361388

檔案名稱: tuxcare_centos_7_CLSA-2026-1780683040.nasl

版本: 1.2

類型: Local

代理程式: unix

已發布: 2026/10/1

已更新: 2026/10/19

支援的感應器: Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

風險資訊

VPR

風險因素: High

分數: 7.1

百分位數: 98.45

Vendor

Vendor Severity: Critical

CVSS v2

風險因素: High

基本分數: 7.5

時間性分數: 5.9

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

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

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

CVSS v4

風險因素: High

Base Score: 8.7

Threat Score: 7.7

Threat Vector: CVSS:4.0/E:P

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

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

弱點資訊

必要的 KB 項目: Host/local_checks_enabled, Host/CentOS/release, Host/CentOS/rpm-list, Host/OS/extended-third-party

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2026/6/5

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

參考資訊

CVE: CVE-2021-3711, CVE-2022-3996, CVE-2023-0464, CVE-2024-5535, CVE-2025-69419, CVE-2025-69421, CVE-2026-28387, CVE-2026-28388, CVE-2026-28389, CVE-2026-28390

CLSA: 2026:1780683040