Amazon Linux 2:edk2 (ALAS-2024-2502)

critical Nessus Plugin ID 192206

概要

遠端 Amazon Linux 2 主機缺少安全性更新。

說明

因此,會受到 ALAS2-2024-2502 公告中所提及的多個弱點影響。

- X.509 GeneralName 類型是用於代表不同類型名稱的泛型類型。其中一種名稱類型稱為 EDIPartyName。OpenSSL 會提供一個 GENERAL_NAME_cmp 函式,該函式可比較 GENERAL_NAME 的不同執行個體,判斷其是否相等。兩個 GENERAL_NAME 都包含 EDIPARTYNAME 時,此函式的行為不正確。可能發生 NULL 指標解除參照和損毀問題,進而可能導致拒絕服務攻擊。出於以下兩個目的,OpenSSL 本身會使用 GENERAL_NAME_cmp 函式:1) 比較可用 CRL 和內嵌在 X509 憑證中的 CRL 發佈點之間的 CRL 發佈點名稱 2) 驗證時間戳記回應權杖簽署者是否符合時間戳記授權單位名稱時 (透過 API 函式 TS_RESP_verify_response 和 TS_RESP_verify_token 洩漏),如果攻擊者可同時控制比較的兩個項目,則可觸發損毀。例如,如果攻擊者可誘騙用戶端或伺服器針對惡意 CRL 檢查惡意憑證,則可能發生此問題。請注意,部分應用程式會根據憑證中內嵌的 URL 自動下載 CRL。此檢查在驗證憑證和 CRL 的簽章之前進行。
OpenSSL 的 s_server、s_client 和驗證工具支援實作 CRL 自動下載的 -crl_download 選項,且已證明此攻擊可針對這些工具發動。請注意,不相關錯誤表示受影響的 OpenSSL 版本無法剖析或建構 EDIPARTYNAME 的正確編碼。不過,可以建構 OpenSSL 剖析器會接受的格式錯誤的 EDIPARTYNAME,進而觸發此攻擊。所有 OpenSSL 1.1.1 和 1.0.2 版本皆受到此問題影響。
其他 OpenSSL 版本不在支援範圍內,且尚未經過檢查。已在 OpenSSL 1.1.1i 中修復 (受影響的為 1.1.1-1.1.1h)。已在 OpenSSL 1.0.2x 中修復 (受影響的為 1.0.2-1.0.2w)。(CVE-2020-1971)

- 在某些情況下,若輸入長度接近平台上整數的最大允許長度,呼叫 EVP_CipherUpdate、EVP_EncryptUpdate 和 EVP_DecryptUpdate 可能造成輸出長度引數溢位。在此類情況下,函式呼叫的傳回值將為 1 (表示成功),但輸出長度值將為負值。這可造成應用程式的行為不正確或損毀。
OpenSSL 1.1.1i 及以下版本受到此問題影響。這些版本的使用者應升級至 OpenSSL 1.1.1j。OpenSSL 1.0.2x 及以下版本受到此問題影響。但 OpenSSL 1.0.2 不在支援範圍,亦不再接收公開更新。OpenSSL 1.0.2 的高級支援客戶應升級至 1.0.2y。其他使用者應升級至 1.1.1j。已在 OpenSSL 1.1.1j 中修復 (受影響的版本為 1.1.1-1.1.1i)。
已在 OpenSSL 1.0.2y 中修復 (受影響的版本為 1.0.2-1.0.2x)。(CVE-2021-23840)

- OpenSSL 公開 API 函式 X509_issuer_and_serial_hash() 嘗試根據 X509 憑證中所含的簽發者和序號資料建立唯一的雜湊值。但是,它無法正確處理剖析簽發者欄位時可能發生的任何錯誤 (如果簽發者欄位遭到惡意建構,則可能發生此類錯誤)。之後,這可能導致 NULL 指標解除參照和當機,進而導致潛在的拒絕服務攻擊。OpenSSL 本身絕不會直接呼叫 X509_issuer_and_serial_hash() 函式,因此只有在直接使用此函式,並在可能是從未受信任來源取得的憑證上使用時,應用程式才會受到影響。OpenSSL 1.1.1i 及以下版本受到此問題影響。這些版本的使用者應升級至 OpenSSL 1.1.1j。OpenSSL 1.0.2x 及以下版本受到此問題影響。但 OpenSSL 1.0.2 不在支援範圍,亦不再接收公開更新。OpenSSL 1.0.2 的高級支援客戶應升級至 1.0.2y。其他使用者應升級至 1.1.1j。已在 OpenSSL 1.1.1j 中修復 (受影響的版本為 1.1.1-1.1.1i)。已在 OpenSSL 1.0.2y 中修復 (受影響的版本為 1.0.2-1.0.2x)。(CVE-2021-23841)

- 如果從用戶端傳送惡意特製的重新交涉 ClientHello 訊息,OpenSSL TLS 伺服器可能會當機。如果 TLSv1.2 重新交涉 ClientHello 省略 signature_algorithms 延伸模組 (出現在初始 ClientHello 中),但包含一個 signature_algorithms_cert 延伸模組,則會導致 NULL 指標解除參照,進而導致當機和拒絕服務攻擊。伺服器只有在已啟用 TLSv1.2 和重新交涉 (預設組態) 的情況下,才會受到影響。OpenSSL TLS 用戶端不受此問題影響。所有 OpenSSL 1.1.1 版本皆受到此問題影響。這些版本的使用者應升級至 OpenSSL 1.1.1k。OpenSSL 1.0.2 不受此問題影響。已在 OpenSSL 1.1.1k 中修復 (受影響的是 1.1.1-1.1.1j)。(CVE-2021-3449)

- X509_V_FLAG_X509_STRICT 旗標針對憑證鏈中存在的憑證啟用其他安全性檢查。預設未設定。從 OpenSSL 1.1.1h 版開始,系統已新增一項檢查作為附加的嚴格檢查,以禁止鏈結中已明確編碼橢圓曲線參數的憑證。此檢查的實作中有一個錯誤,這表示先前確認鏈結中的憑證為有效 CA 憑證的檢查結果被覆寫。這可有效繞過非 CA 憑證不得發出其他憑證的檢查。如果已設定用途,則隨後有機會檢查憑證是否為有效的 CA 憑證。libcrypto 中實作的所有具名用途值都會執行此檢查。因此,在設定用途的情況下,即使已使用 strict 旗標,憑證鏈仍會遭到拒絕。在 libssl 用戶端和伺服器憑證驗證常式中,預設有一個用途,但應用程式可以覆寫或移除該用途。若要受到此問題影響,應用程式必須明確設定 X509_V_FLAG_X509_STRICT 驗證旗標,且不得設定憑證驗證的用途,或者若為 TLS 用戶端或伺服器應用程式,則不得覆寫預設用途。OpenSSL 1.1.1h 及更新版本受到此問題影響。這些版本的使用者應升級至 OpenSSL 1.1.1k。
OpenSSL 1.0.2 不受此問題影響。已在 OpenSSL 1.1.1k 中修復 (受影響的是 1.1.1h-1.1.1j)。
(CVE-2021-3450)

- 在 OpenSSL 內部,ASN.1 字串以 ASN1_STRING 結構表示,其中包含一個保留字串資料的緩衝區,以及一個保留緩衝區長度的欄位。與此相對照的是,一般 C 字串表示為以 NUL (0) 位元組結束的字串資料緩衝區。雖然不是嚴格要求,但使用 OpenSSL 自己的 d2i 函式 (和其他類似剖析函式) 剖析 ASN.1 字串,以及已使用 ASN1_STRING_set() 函式設定值的任何字串,都會以額外的 NUL 結束 ASN1_STRING 結構中的位元組陣列。但是,應用程式可以透過直接設定 ASN1_STRING 陣列中的資料和長度欄位,直接建構非以 NUL 結束位元組陣列的有效 ASN1_STRING 結構。使用 ASN1_STRING_set0() 函式也可發生此情況。目前發現多個列印 ASN.1 資料的 OpenSSL 函式會假設 ASN1_STRING 位元組陣列將以 NUL 結束,但直接建構的字串並不一定如此。若應用程式要求列印 ASN.1 結構,且該 ASN.1 結構包含由應用程式直接建構的 ASN1_STRING,並且非以 NUL 結束資料欄位,則可能發生讀取緩衝區滿溢。在處理憑證的名稱限制期間也會發生同樣的情況 (例如,如果憑證是由應用程式直接建構,而非透過 OpenSSL 剖析函式載入,且憑證包含非以 NUL 結束的 ASN1_STRING 結構)。X509_get1_email()、X509_REQ_get1_email() 和 X509_get1_ocsp() 函式中也可能發生此情況。如果惡意執行者可造成應用程式直接建構 ASN1_STRING,然後透過其中一個受影響的 OpenSSL 函式加以處理,則可能會發生此問題。這可能會導致當機 (造成拒絕服務攻擊)。
也可能導致私密記憶體內容 (例如私密金鑰或敏感的純文字) 洩漏。已在 OpenSSL 1.1.1l 中修復 (受影響的是 1.1.1-1.1.1k)。已在 OpenSSL 1.0.2za 中修復 (受影響的是 1.0.2-1.0.2y)。(CVE-2021-3712)

- BN_mod_sqrt() 函式專用於計算模組化平方根,其中包含一個可導致其針對非質數模數永遠執行迴圈的錯誤。在內部剖析包含壓縮形式的橢圓曲線公開金鑰或具有以壓縮形式編碼之基點的顯式橢圓曲線參數時,會使用此函式。透過建構具有無效顯式曲線參數的憑證,可能會觸發無限迴圈。由於憑證剖析發生在驗證憑證簽章之前,因此任何剖析外部提供之憑證的處理程序都可能遭受拒絕服務攻擊。也可以在剖析建構的私密金鑰時造成無限迴圈,因為這些金鑰中可能包含顯式橢圓曲線參數。因此,易受攻擊的情況包括:使用伺服器憑證的 TLS 伺服器 - 使用用戶端憑證的 TLS 伺服器 - 從客戶處取得憑證或私密金鑰的主機供應商 - 剖析來自使用者憑證要求的認證機構 - 剖析 ASN.1 橢圓曲線參數的任何其他應用程式,以及使用 BN_mod_sqrt() 的任何其他應用程式 (其中攻擊者可控制容易受到此 DoS 問題影響的參數值)。在 OpenSSL 1.0.2 版本中,最初剖析憑證期間並未剖析公開金鑰,進而導致觸發無限迴圈變得略微困難。不過,任何需要憑證公開金鑰的作業都會觸發無限迴圈。特別是,攻擊者可在驗證憑證簽章期間使用自我簽署憑證觸發迴圈。OpenSSL 1.0.2、 1.1.1 和 3.0 會受到此問題影響。此問題已在 2022 年 3 月 15 日發布的 1.1.1n 和 3.0.2 版本中得到解決。已在 OpenSSL 3.0.2 中修復 (受影響的是 3.0.0、3.0.1)。已在 OpenSSL 1.1.1n 中修復 (受影響的是 1.1.1-1.1.1m)。已在 OpenSSL 1.0.2zd 中修復 (受影響的是 1.0.2-1.0.2zc)。(CVE-2022-0778)

- c_rehash 指令碼未正確清理殼層中繼字元以防止命令插入。某些作業系統會以自動執行的方式發佈此指令碼。在這類作業系統上,攻擊者可以透過指令碼的權限執行任意命令。c_rehash 指令碼的使用已過時,應由 OpenSSL rehash 命令列工具取代。
已在 OpenSSL 3.0.3 中修復 (受影響的是 3.0.0、3.0.1、3.0.2)。已在 OpenSSL 1.1.1o 中修復 (受影響的是 1.1.1-1.1.1n)。
已在 OpenSSL 1.0.2ze 中修復 (受影響的是 1.0.2-1.0.2zd)。(CVE-2022-1292)

- 除了 CVE-2022-1292 中發現的 c_rehash shell 命令插入,程式碼審查還發現 c_rehash 指令碼未正確清理 shell 中繼字元以防止命令插入的其他情況。修復 CVE-2022-1292 後,未在指令碼中的其他位置發現雜湊憑證的檔案名稱可能會傳遞至透過 shell 執行的命令。某些作業系統會以自動執行的方式發佈此指令碼。在這類作業系統上,攻擊者可以透過指令碼的權限執行任意命令。c_rehash 指令碼的使用已過時,應由 OpenSSL rehash 命令列工具取代。已在 OpenSSL 3.0.4 中修復 (受影響的是 3.0.0、3.0.1、3.0.2、3.0.3)。已在 OpenSSL 1.1.1p 中修復 (受影響的是 1.1.1-1.1.1o)。已在 OpenSSL 1.0.2zf 中修復 (受影響的是 1.0.2-1.0.2ze)。(CVE-2022-2068)

- 在某些情況下,使用 AES-NI 組件最佳化實作的 32 位元 x86 平台的 AES OCB 模式將不會加密完整的資料。這可能會洩漏預先存在於未寫入記憶體中的 16 位元組資料。在就地加密的特殊情況下,會洩漏純文字的 16 位元組。由於 OpenSSL 不支援適用於 TLS 和 DTLS 的 OCB 型加密套件,因此兩者均不受影響。已在 OpenSSL 3.0.5 中修復 (受影響的是 3.0.0-3.0.4)。已在 OpenSSL 1.1.1q 中修復 (受影響的是 1.1.1-1.1.1p)。(CVE-2022-2097)

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

- 在所有受支援的 OpenSSL 版本中發現一個與驗證包含原則限制的 X.509 憑證鏈相關的安全性弱點。攻擊者可能會建立惡意憑證鏈,觸發計算資源的指數使用,進而惡意利用此弱點,對受影響的系統發動拒絕服務 (DoS) 攻擊。原則處理預設爲禁用狀態,但若將 -policy 引數傳遞至命令行公用程式,或呼叫 X509_VERIFY_PARAM_set1_policies() 函式,即可啟用原則處理。(CVE-2023-0464)

- 驗證憑證時使用非預設選項的應用程式可能容易遭受惡意 CA 的攻擊,進而規避特定檢查。OpenSSL 會以無訊息方式忽略分葉憑證中的無效憑證原則,並略過該憑證的其他憑證原則檢查。惡意 CA 可利用此弱點,刻意宣告無效的憑證原則,以完全規避憑證的原則檢查。原則處理預設爲禁用狀態,但若將 -policy 引數傳遞至命令行公用程式,或呼叫 X509_VERIFY_PARAM_set1_policies() 函式,即可啟用原則處理。(CVE-2023-0465)

- X509_VERIFY_PARAM_add0_policy() 函式被記錄為在進行憑證驗證時隱含啟用憑證原則檢查。不過,此函式的實作並未啟用這一檢查,因而會造成含有無效或錯誤原則的憑證通過憑證驗證。
由於突然啟用原則檢查可能會中斷現有部署,因此決定保留 X509_VERIFY_PARAM_add0_policy() 函式的現有行為。需要 OpenSSL 才能執行憑證原則檢查的應用程式需要使用 X509_VERIFY_PARAM_set1_policy(),或透過以 X509_V_FLAG_POLICY_CHECK 旗標引數呼叫 X509_VERIFY_PARAM_set_flags(),來明確啟用原則檢查。
OpenSSL 中預設停用憑證原則檢查,應用程式亦未普遍使用此檢查。
(CVE-2023-0466)

- 問題摘要:處理某些特製的 ASN.1 物件識別碼或包含這些識別碼的資料可能會非常緩慢。- 影響摘要:對於直接使用 OBJ_obj2txt() 或使用任何 OpenSSL 子系統 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS 的應用程式,它們在處理這些訊息時可能造成拒絕服務。OBJECT IDENTIFIER 由一系列數字 (子識別碼) 組成,其中大部分沒有大小限制。
OBJ_obj2txt() 可用於將以 DER 編碼形式 (使用 OpenSSL 類型 ASN1_OBJECT) 提供的 ASN.1 OBJECT IDENTIFIER 轉譯為其規範數值文字形式,即以句點分隔的十進位形式的 OBJECT IDENTIFIER 子識別碼。當 OBJECT IDENTIFIER 中的其中一個子識別碼非常大 (大得離譜,佔用數十或數百 KiB) 時,在文字中轉譯為十進位數字可能需要很長的時間。時間複雜度為 O(n^2),其中「n」是以位元組 (*) 為單位的子識別碼大小。OpenSSL 3.0 版引入了使用字串形式的名稱/識別碼擷取密碼編譯演算法的支援。這包括使用規範數值文字形式的 OBJECT IDENTIFIER 作為擷取演算法的識別碼。此類 OBJECT IDENTIFIER 可透過 ASN.1 結構 AlgorithmIdentifier 接收,該結構常用於多個通訊協定,以指定應使用何種密碼編譯演算法來簽署或驗證、加密或解密,或摘要式傳遞的資料。直接使用未受信任的資料呼叫 OBJ_obj2txt() 的應用程式會受到任何 OpenSSL 版本的影響。如果僅用於顯示目的,則認為低嚴重性。在 OpenSSL 3.0 和更新版本中,這會影響子系統 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS。它也會影響處理 X.509 憑證的任何項目,包括驗證其簽章等簡單項目。對 TLS 的影響相對較低,因為所有版本的 OpenSSL 在對等端的憑證鏈上都有 100KiB 的限制。此外,這只會影響已明確啟用用戶端驗證的用戶端或伺服器。在 OpenSSL 1.1.1 和 1.0.2 版中,這只會影響顯示不同的物件,例如 X.509 憑證。我們假設此問題不會以會造成拒絕服務的方式發生,因此這些版本不會受到此問題的影響,進而被視為低嚴重性。(CVE-2023-2650)

- 問題摘要:檢查過長的 DH 金鑰或參數時可能會非常緩慢。影響摘要:
使用 DH_check()、DH_check_ex() 或 EVP_PKEY_param_check() 函式檢查 DH 金鑰或 DH 參數的應用程式可能會遇到長時間延遲。如果要檢查的金鑰或參數是從未受信任的來源取得,這可能會導致拒絕服務。DH_check() 函式會對 DH 參數執行各種檢查,其中一項檢查會確認模數 (「p」參數) 不是太大。嘗試使用非常大的模數時執行速度會變慢,且 OpenSSL 通常不會使用長度超過 10,000 位元的模數。不過,DH_check() 函式會檢查已提供金鑰或參數的多個方面。有些檢查會使用提供的模數值,即使已發現此模數值過大亦然。應用程式如果呼叫 DH_check() 並提供從未受信任的來源取得之金鑰或參數,可能容易遭受拒絕服務攻擊。DH_check() 函式本身會由數個其他 OpenSSL 函式呼叫。呼叫任何其他函式的應用程式亦可能會受到類似影響。受此問題影響的其他函式包括 DH_check_ex() 和 EVP_PKEY_param_check()。使用「-check」選項時,OpenSSL dhparam 和 pkeyparam 命令行應用程式也容易受到影響。OpenSSL SSL/TLS 實作不受此問題影響。OpenSSL 3.0 和 3.1 FIPS 提供者不受此問題影響。(CVE-2023-3446)

- 問題摘要:檢查過長的 DH 金鑰或參數時可能會非常緩慢。影響摘要:
使用 DH_check()、DH_check_ex() 或 EVP_PKEY_param_check() 函式檢查 DH 金鑰或 DH 參數的應用程式可能會遇到長時間延遲。如果要檢查的金鑰或參數是從未受信任的來源取得,這可能會導致拒絕服務。DH_check() 函式會對 DH 參數執行各種檢查,修復 CVE-2023-3446 後,發現在某些檢查期間,較大的 q 參數值也可觸發過長計算。正確的 q 值 (若存在) 不能大於模數 p 參數,因此如果 q 大於 p,則不需要執行這些檢查。應用程式如果呼叫 DH_check() 並提供從未受信任之來源取得的金鑰或參數,則容易遭受拒絕服務攻擊。DH_check() 函式本身會由數個其他 OpenSSL 函式呼叫。呼叫任何其他函式的應用程式亦可能會受到類似影響。受此問題影響的其他函式包括 DH_check_ex() 和 EVP_PKEY_param_check()。
使用「-check」選項時,OpenSSL dhparam 和 pkeyparam 命令行應用程式也容易受到影響。OpenSSL SSL/TLS 實作不受此問題影響。OpenSSL 3.0 和 3.1 FIPS 提供者不受此問題影響。(CVE-2023-3817)

- 問題摘要:產生過長的 X9.42 DH 金鑰或檢查過長的 X9.42 DH 金鑰或參數時可能會非常緩慢。- 問題摘要:使用 DH_generate_key() 函式產生 X9.42 DH 金鑰的應用程式可能會遇到長時間延遲。同樣地,使用 DH_check_pub_key()、DH_check_pub_key_ex() 或 EVP_PKEY_public_check() 檢查 X9.42 DH 金鑰或 X9.42 DH 參數的應用程式可能會遇到長時間延遲。如果要檢查的金鑰或參數是從未受信任的來源取得,這可能會導致拒絕服務。雖然 DH_check() 會執行所有必要的檢查 (截至 CVE-2023-3817),但 DH_check_pub_key() 並不會進行任何此類檢查,因此容易受到過大的 P 和 Q 參數的影響。同樣地,雖然 DH_generate_key() 會對過大的 P 參數執行檢查,但它不會檢查過大的 Q 參數。呼叫 DH_generate_key() 或 DH_check_pub_key(),並提供從未受信任之來源取得的金鑰或參數的應用程式可能容易遭到拒絕服務攻擊。DH_generate_key() 和 DH_check_pub_key() 也會被其他許多 OpenSSL 函式呼叫。呼叫任何其他函式的應用程式亦可能會受到類似影響。受此問題影響的其他函式包括 DH_check_pub_key_ex()、EVP_PKEY_public_check() 和 EVP_PKEY_generate()。使用 -pubcheck 選項時的 OpenSSL pkey 命令行應用程式,以及 OpenSSL genpkey 命令行應用程式也容易受到影響。
OpenSSL SSL/TLS 實作不受此問題影響。OpenSSL 3.0 和 3.1 FIPS 提供者不受此問題影響。(CVE-2023-5678)

- 問題摘要:處理惡意格式化的 PKCS12 檔案可能會導致 OpenSSL 損毀,進而導致潛在的拒絕服務攻擊 影響摘要:從不受信任的來源載入 PKCS12 格式檔案的應用程式可能會突然終止。PKCS12 格式的檔案可包含憑證和金鑰,且可能來自未受信任的來源。PKCS12 規格允許特定欄位為 NULL,但 OpenSSL 未正確檢查此情況。這可導致 NULL 指標解除參照,進而導致 OpenSSL 損毀。如果應用程式使用 OpenSSL API 處理來自未受信任來源的 PKCS12 檔案,則該應用程式將容易受此問題影響。容易受到此弱點影響的 OpenSSL API 是:
PKCS12_parse()、PKCS12_unpack_p7data()、PKCS12_unpack_p7encdata()、PKCS12_unpack_authsafes() 和 PKCS12_newpass()。我們也已修復 SMIME_write_PKCS7() 中的一個類似問題。不過,由於此函式與寫入資料有關,因此我們認為其安全性不重大。3.2 、3.1 和 3.0 中的 FIPS 模組不受此問題影響。(CVE-2024-0727)

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

解決方案

執行「yum update edk2」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2/ALAS-2024-2502.html

https://alas.aws.amazon.com/cve/html/CVE-2020-1971.html

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

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

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

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

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

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

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

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

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

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

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

https://alas.aws.amazon.com/cve/html/CVE-2023-0215.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0286.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0464.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0465.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0466.html

https://alas.aws.amazon.com/cve/html/CVE-2023-2650.html

https://alas.aws.amazon.com/cve/html/CVE-2023-3446.html

https://alas.aws.amazon.com/cve/html/CVE-2023-3817.html

https://alas.aws.amazon.com/cve/html/CVE-2023-5678.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0727.html

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

Plugin 詳細資訊

嚴重性: Critical

ID: 192206

檔案名稱: al2_ALAS-2024-2502.nasl

版本: 1.2

類型: local

代理程式: unix

已發布: 2024/3/18

已更新: 2024/3/19

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

風險資訊

VPR

風險因素: High

分數: 7.7

CVSS v2

風險因素: Critical

基本分數: 10

時間分數: 7.8

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

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

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:edk2-aarch64, p-cpe:/a:amazon:linux:edk2-debuginfo, p-cpe:/a:amazon:linux:edk2-ovmf, p-cpe:/a:amazon:linux:edk2-tools, p-cpe:/a:amazon:linux:edk2-tools-doc, p-cpe:/a:amazon:linux:edk2-tools-python, cpe:/o:amazon:linux:2

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2024/3/13

弱點發布日期: 2020/12/8

參考資訊

CVE: CVE-2020-1971, CVE-2021-23840, CVE-2021-23841, CVE-2021-3449, CVE-2021-3450, CVE-2021-3712, CVE-2022-0778, CVE-2022-1292, CVE-2022-2068, CVE-2022-2097, CVE-2022-4304, CVE-2022-4450, CVE-2023-0215, CVE-2023-0286, CVE-2023-0464, CVE-2023-0465, CVE-2023-0466, CVE-2023-2650, CVE-2023-3446, CVE-2023-3817, CVE-2023-5678, CVE-2024-0727