說明
遠端主機上安裝的 OpenSSL 為 3.0.1 之前版本。因此,會受到 3.0.1 公告中所提及的多個弱點影響。
- MIPS32 和 MIPS64 平方程序中有一個進位傳送錯誤。許多 EC 演算法都受到影響,包括某些 TLS 1.3 預設曲線。未詳細分析影響的原因在於,無法滿足攻擊的各項先決條件,而且涉及到重複使用私密金鑰。分析資料指出,因此缺陷而對 RSA 與 DSA 所發動的攻擊極難執行,而且可能性不高。對 DH 發動攻擊是可行的 (但難度極高),因為推算私密金鑰相關資訊所需的多數工作可以於離線執行。此類攻擊所需的資源量極大。但是,若要成功在 TLS 上發起攻擊,伺服器必須在多個用戶端之間共用 DH 私密金鑰 (自 CVE-2016-0701 版本以來,已不提供此選項)。OpenSSL 1.0.2、 1.1.1 和 3.0.0 會受到此問題影響。此問題已在 2021 年 12 月 15 日發布的 1.1.1m 和 3.0.1 版中解決。針對 1.0.2 版本,此問題已在僅提供給高級支援客戶的 git commit 6fc1aaaf3 中解決。發布 1.0.2zc 版本時,將提供 git commit 6fc1aaaf3。此問題僅影響 MIPS 平台上的 OpenSSL。已在 OpenSSL 3.0.1 中修正 (受影響的是 3.0.0)。已在 OpenSSL 1.1.1m 中修正 (受影響的是 1.1.1-1.1.1l)。已在 OpenSSL 1.0.2zc-dev 中修正 (受影響的是 1.0.2-1.0.2zb)。(CVE-2021-4160)
- OpenSSL 中的 libssl 透過從內部呼叫用戶端的 X509_verify_cert(),來驗證伺服器提供的憑證。該函式可能傳回一個負值,以指出內部錯誤 (例如記憶體不足)。OpenSSL 未正確處理此類負傳回值,並將造成 IO 函式 (如 SSL_connect() 或 SSL_do_handshake()) 指示失敗,且後續呼叫 SSL_get_error() 以傳回值 SSL_ERROR_WANT_RETRY_VERIFY。如果應用程式之前已呼叫 SSL_CTX_set_cert_verify_callback(),則此傳回值僅應由 OpenSSL 傳回。由於多數應用程式不會執行此操作,因此 SSL_get_error() 將意外傳回值 SSL_ERROR_WANT_RETRY_VERIFY,並且應用程式可能無法正確運作。具體行為將取決於應用程式,但可能引發當機、無限迴圈或其他類似的錯誤回應。
結合利用 OpenSSL 3.0 中存在的個別錯誤,此問題會變得更加嚴重,並會導致 X509_verify_cert() 在處理憑證鏈時指出內部錯誤。當憑證不包含主體別名延伸,但憑證授權單位已強制執行名稱限制時,即會發生這種情況。即使使用有效鏈結,亦會發生此問題。攻擊者可結合利用這兩個問題,引發不正確的應用程式相依行為。已在 OpenSSL 3.0.1 版中修正此問題 (受影響的是 3.0.0 版)。(CVE-2021-4044)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
升級至 OpenSSL 3.0.1 或更新版本。
Plugin 詳細資訊
代理程式: windows, macosx, unix
支援的感應器: Nessus Agent, Nessus
風險資訊
媒介: CVSS2#AV:N/AC:M/Au:N/C:P/I:N/A:N
媒介: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
時間媒介: CVSS:3.0/E:U/RL:O/RC:C
弱點資訊
CPE: cpe:/a:openssl:openssl
必要的 KB 項目: installed_sw/OpenSSL
可輕鬆利用: No known exploits are available