描述
遠端主機受到 GLSA-202301-08 中所述的弱點影響 (Mbed TLS:多個弱點)
- 在受信任的韌體 Mbed TLS 2.23.0 及其之前版本中,library/ssl_msg.c 的 mbedtls_ssl_decrypt_buf 中存在 Lucky 13 計時側通道,攻擊者可以藉此復原私密金鑰資訊。這會影響 CBC 模式,這是因為根據填補長度計算出的時間差。(CVE-2020-16150)
- 在 Arm Mbed TLS 2.23.0 之前版本中發現一個問題。由於模組化乘冪中有側通道,因此可洩漏安全飛地中使用的 RSA 私密金鑰。(CVE-2020-36421)
- 在 Arm Mbed TLS 2.23.0 之前版本中發現一個問題。側通道允許復原與 mbedtls_ecp_check_pub_priv、mbedtls_pk_parse_key、mbedtls_pk_parse_keyfile、mbedtls_ecp_mul 和 mbedtls_ecp_mul_restartable 有關的 ECC 私密金鑰。(CVE-2020-36422)
- 在 Arm Mbed TLS 2.23.0 之前版本中發現一個問題。遠端攻擊者可複原純文字,因為特定的 Lucky 13 對策未正確考量硬體加速器的情況。
(CVE-2020-36423)
- 在 Arm Mbed TLS 2.24.0 之前版本中發現一個問題。攻擊者可針對基底遮盲/解除遮盲值的產生,透過旁路攻擊復原 (RSA 或靜態 Diffie-Hellman) 的私密金鑰。
(CVE-2020-36424)
- 在 Arm Mbed TLS 2.24.0 之前版本中發現一個問題。在決定是否透過 CRL 接受憑證撤銷時,它錯誤地使用了 revocationDate 檢查。在某些情況下,攻擊者可透過變更本機時鐘來利用此弱點。(CVE-2020-36425)
- 在 2.24.0 版之前的 Arm Mbed TLS 中發現一個問題。mbedtls_x509_crl_parse_der 存在緩衝區過度讀取 (一個位元組) 問題。(CVE-2020-36426)
- 在 Mbed LTS 2.25.0 之前版本 (以及 2.16.9 之前的 LTS 和 2.7.18 之前的 LTS) 中發現一個問題。mbedtls_mpi_exp_mod 執行的計算不受限制,因此在產生 Diffie-Hellman 金鑰組時,提供過大的參數可導致程式拒絕服務。(CVE-2020-36475)
- 在 Mbed LTS 2.24.0 之前版本 (以及 2.16.8 之前的 LTS 和 2.7.17 之前的 LTS) 中發現一個問題。mbedtls_ssl_read 中缺少純文字緩衝區歸零操作,無法清除記憶體中未使用的應用程式資料。
(CVE-2020-36476)
- 在 Mbed TLS 2.24.0 之前的版本中發現一個問題。將預期的共用名稱 (mbedtls_x509_crt_verify 的 cn 引數) 與實際憑證名稱比對時,驗證 X.509 憑證的處理方式有誤:當存在 subjecAltName 擴充時,無論其類型為何,系統都會將預期的名稱與該擴充中的任何名稱進行比較。這表示攻擊者可透過取得 IPv4 或 IPv6 位址對應的憑證來冒充 4 位元組或 16 位元組網域 (前提是攻擊者必須控制該 IP 位址)。(CVE-2020-36477)
- 在 Mbed LTS 2.25.0 之前版本 (以及 2.16.9 之前的 LTS 和 2.7.18 之前的 LTS) 中發現一個問題。NULL 演算法參數項目看起來與 REAL (大小爲零) 陣列相同,因此該憑證被視為有效。但是,如果參數在任何情況下都不相符,則應將憑證視為無效。(CVE-2020-36478)
- 當輸入密碼的長度為 0 時,mbed TLS 3.0.0 和更舊版本的 mbedtls_pkcs12_derivation 函式中存在拒絕服務弱點。(CVE-2021-43666)
- 在某些記憶體不足的情況下,Med TLS 3.0.1 之前版本會發生重複釋放。mbedtls_ssl_set_session() 失敗即為一例。(CVE-2021-44732)
- 在 Mbed TLS 2.28.0 之前的版本以及 3.1.0 之前的 3.x 版中,當輸出緩衝區位於未受信任的應用程式可存取的記憶體位置時,psa_cipher_generate_iv 和 psa_cipher_encrypt 允許略過政策或進行 oracle 解密。(CVE-2021-45450)
- 在 Mbed TLS 2.28.1 之前版本以及 3.2.0 之前的 3.x 版中發現一個問題。在某些組態中,未經驗證的攻擊者可傳送無效的 ClientHello 訊息至 DTLS 伺服器,造成最多 255 個位元組的堆積型緩衝區過度讀取。這可造成伺服器當機,或可能根據錯誤回應造成資訊洩漏。受影響的組態已啟用 MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE,且 MBEDTLS_SSL_IN_CONTENT_LEN 小於視組態而定的閾值:如果使用 mbedtls_ssl_cookie_check,則為 258 位元組,若使用自訂 Cookie 檢查函式,則可能高達 571 位元組。
(CVE-2022-35409)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
所有 Mbed TLS 使用者皆應升級至最新版本:
# emerge --sync # emerge --ask --oneshot --verbose >=net-libs/mbedtls-2.28.1
Plugin 詳細資訊
檔案名稱: gentoo_GLSA-202301-08.nasl
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
時間媒介: CVSS2#E:U/RL:OF/RC:C
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
時間媒介: CVSS:3.0/E:U/RL:O/RC:C
弱點資訊
CPE: p-cpe:/a:gentoo:linux:mbedtls, cpe:/o:gentoo:linux
必要的 KB 項目: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list
可輕鬆利用: No known exploits are available
參考資訊
CVE: CVE-2020-16150, CVE-2020-36421, CVE-2020-36422, CVE-2020-36423, CVE-2020-36424, CVE-2020-36425, CVE-2020-36426, CVE-2020-36475, CVE-2020-36476, CVE-2020-36477, CVE-2020-36478, CVE-2021-43666, CVE-2021-44732, CVE-2021-45450, CVE-2022-35409