RHEL 8:openssl (RHSA-2023: 1405)

high Nessus Plugin ID 173311

概要

遠端 Red Hat 主機缺少一個或多個 openssl 的安全性更新。

說明

遠端 Redhat Enterprise Linux 8 主機上安裝的套件受到 RHSA-2023: 1405 公告中提及的多個弱點影響。

- OpenSSL RSA Decryption 實作中存在計時型旁路,其足可在 Bleichenbacher 式攻擊中跨網路復原純文字。若要成功解密,攻擊者必須能夠傳送大量的試用訊息以進行解密。
此弱點會影響所有 RSA 填補模式:PKCS#1 v1.5、RSA-OEAP 和 RSASVE。例如,在 TLS 連線中,用戶端通常會使用 RSA 將加密的 pre-master 密碼傳送至伺服器。攻擊者若觀察到用戶端與伺服器之間存在真正連線,就可以利用此缺陷將試用訊息傳送至伺服器,並記錄處理這些訊息所用的時間。攻擊者獲得充足的訊息之後,便可復原用於最初連線的 pre-master 密碼,進而能夠解密透過該連線傳送的應用程式資料。(CVE-2022-4304)

- PEM_read_bio_ex() 函式會從 BIO 讀取 PEM 檔案,並剖析和解碼名稱 (例如:
CERTIFICATE)、任何標頭資料和承載資料。如果函式成功運行,則使用包含相關解碼資料之緩衝區的指標填入 name_out、標頭和資料引數。
呼叫者負責釋放這些緩衝區。攻擊者可以建構會產生 0 位元組承載資料的 PEM 檔案。在此情況下,PEM_read_bio_ex() 會傳回失敗程式碼,但會在標頭引數中填入已釋放的緩衝區指標。如果呼叫者也釋放此緩衝區,則會發生雙重釋放。這很可能會導致當機。能夠提供惡意 PEM 檔案進行剖析的攻擊者可利用此弱點發動拒絕服務攻擊。PEM_read_bio() 和 PEM_read() 函式是 PEM_read_bio_ex() 的簡單包裝函式,因此這些函式也會直接受到影響。其他一些 OpenSSL 函式也會間接呼叫這些函式,包括同樣容易遭受攻擊的 PEM_X509_INFO_read_bio_ex() 和 SSL_CTX_use_serverinfo_file()。若在 OpenSSL 內部使用部分此類函式,則不會受到影響,因為如果 PEM_read_bio_ex() 傳回失敗程式碼,呼叫者將不會釋放標頭引數。這些位置包括 PEM_read_bio_TYPE() 函式以及 OpenSSL 3.0 中引入的解碼器。OpenSSL asn1parse 命令行應用程式也受此問題影響。(CVE-2022-4450)

- 公開 API 函式 BIO_new_NDEF 是用於透過 BIO 串流 ASN.1 資料的協助程式函式。此函式主要用於 OpenSSL 內部,以支援 SMIME、CMS 和 PKCS7 串流功能,但也可能由終端使用者應用程式直接呼叫。此函式會接收來自呼叫者的 BIO,並在前面附加新的 BIO_f_asn1 篩選器 BIO 以形成 BIO 鏈結,然後將 BIO 鏈結的新標頭傳回給呼叫者。在某些情況下,例如,如果 CMS 收件人公開金鑰無效,則新篩選器 BIO 會被釋放,並且該函式會傳回 NULL 結果,表明失敗。但在此情況下,BIO 鏈結未經正確清理,且呼叫者傳送的 BIO 仍保留先前釋放的篩選器 BIO 的內部指標。如果呼叫者接著呼叫 BIO 上的 BIO_pop(),則會發生釋放後使用。這很可能會導致當機。此情況直接發生在內部函式 B64_write_ASN1() 中,其可能導致呼叫 BIO_new_NDEF(),並隨後在 BIO 上呼叫 BIO_pop()。此內部函式會接著由公開 API 函式 PEM_write_bio_ASN1_stream、PEM_write_bio_CMS_stream、PEM_write_bio_PKCS7_stream、SMIME_write_ASN1、SMIME_write_CMS 和 SMIME_write_PKCS7 呼叫。其他可能受到此弱點影響的公開 API 函式包括 i2d_ASN1_bio_stream、BIO_new_CMS、BIO_new_PKCS7、i2d_CMS_bio_stream 和 i2d_PKCS7_bio_stream。OpenSSL cms 和 smime 命令行應用程式受到類似影響。(CVE-2023-0215)

- X.509 GeneralName 中有一個與 X.400 位址處理相關的類型混淆弱點。
X.400 位址被剖析為 ASN1_STRING,但 GENERAL_NAME 的公開結構定義錯誤地將 x400Address 欄位的類型指定為 ASN1_TYPE。此欄位隨後會被 OpenSSL 函式 GENERAL_NAME_cmp 解譯為 ASN1_TYPE,而非 ASN1_STRING。啟用 CRL 檢查時 (即應用程式設定 X509_V_FLAG_CRL_CHECK 旗標),此弱點可能允許攻擊者向 memcmp 呼叫傳遞任意指標,使其能夠讀取記憶體內容或發動拒絕服務攻擊。在大多數情況下,攻擊者需要同時提供憑證鍊和 CRL,兩者都不需要有效的簽章。如果攻擊者只控制其中一個輸入,則另一個輸入必須已包含 X.400 位址作為 CRL 發佈點,此情況並不常見。因此,此弱點最有可能只影響已實作透過網路擷取 CRL 這一功能的應用程式。(CVE-2023-0286)

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

解決方案

依據 RHSA-2023: 1405中的指引更新 RHEL openssl 套件。

另請參閱

https://access.redhat.com/security/cve/CVE-2022-4304

https://access.redhat.com/security/cve/CVE-2022-4450

https://access.redhat.com/security/cve/CVE-2023-0215

https://access.redhat.com/security/cve/CVE-2023-0286

https://access.redhat.com/errata/RHSA-2023:1405

Plugin 詳細資訊

嚴重性: High

ID: 173311

檔案名稱: redhat-RHSA-2023-1405.nasl

版本: 1.3

類型: local

代理程式: unix

已發布: 2023/3/23

已更新: 2024/1/26

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

風險資訊

VPR

風險因素: Medium

分數: 6.0

CVSS v2

風險因素: High

基本分數: 7.1

時間分數: 5.3

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

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

CVSS v3

風險因素: High

基本分數: 7.4

時間分數: 6.4

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

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

弱點資訊

CPE: cpe:/o:redhat:enterprise_linux:8, cpe:/o:redhat:rhel_aus:8.8, cpe:/o:redhat:rhel_e4s:8.8, cpe:/o:redhat:rhel_eus:8.8, cpe:/o:redhat:rhel_tus:8.8, p-cpe:/a:redhat:enterprise_linux:openssl, p-cpe:/a:redhat:enterprise_linux:openssl-devel, p-cpe:/a:redhat:enterprise_linux:openssl-libs, p-cpe:/a:redhat:enterprise_linux:openssl-perl

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

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2023/3/22

弱點發布日期: 2022/12/15

參考資訊

CVE: CVE-2022-4304, CVE-2022-4450, CVE-2023-0215, CVE-2023-0286

CWE: 415, 416, 704

IAVA: 2022-A-0518-S

RHSA: 2023:1405