說明
遠端主機上安裝的 OpenSSL 為 3.0.23 之前版本。因此,它會受到 3.0.23 公告中所提及的多個弱點影響。
- 問題摘要:DTLS 的重傳邏輯無法正確處理在寫入過程中被暫停的握手訊息。重新傳輸的訊息可以透過訊息緩衝區讀取,而且重新傳輸會覆寫暫停寫入正確繼續所需的內部狀態。影響摘要:重新傳輸的訊息可能會將堆記憶體以明文握手資料的形式洩露給對端,或當讀取操作觸及未映射的記憶體區域時,導致系統當機並引發拒絕服務攻擊。CWE:CWE-125:越界讀取 說明:DTLS 握手訊息可分為多個片段寫入,若底層傳輸層暫時無法接受更多資料,寫入操作可能會在訊息中途暫停(並回傳 WANT_WRITE)。當此類寫入操作被暫停時,DTLS 重傳計時器可能會獨立觸發,並要求重傳邏輯從其重傳佇列中重新傳送一則較早、且已確認送達的訊息。
重傳邏輯重複使用了與仍在寫入中的訊息相同的內部緩衝區和位置追蹤機制,卻未將位置重設回待重傳訊息的起始處。
因此,重傳資料是從暫停寫入處中斷的位置開始讀取的,這導致產生了一則標籤錯誤的訊息,其內容體是由另一則仍在傳輸中的較大訊息所殘留的位元組——這些內容本不該在該時刻傳送,且可能超出已分配緩衝區的範圍。 此外,即使轉發操作已正確定位,若在另一項寫入操作被暫停期間仍讓轉發操作執行至完成,將會覆寫該暫停寫入操作所依賴的相同共用帳務記錄,而該寫入操作正是仰賴此記錄才能恢復執行。 當應用程式稍後繼續暫停的寫入時 (透過後續的 SSL_read()、SSL_write()、SSL_accept() 或 SSL_connect() 呼叫),它會發現該簿記處於與訊息不一致的狀態,並在除錯組建中中止處理程序。此修正程式會在重新傳送之前,將重新傳輸的讀取位置重設為訊息的開頭,並在交握寫入仍暫停時完全略過重新傳輸,並延遲到下一個繼續它的呼叫。FIPS 影響:否,受影響的程式碼位於 FIPS 模組邊界之外外。(CVE-2026-84782)
- 問題摘要:當 OpenSSL 快取 X.509 延伸資訊時,若憑證包含多個 nameRelativeToCRLIssuer CRL 分發點,將導致堆記憶體過度增長。影響摘要:從惡意對等接收特製的憑證可能會導致用戶端或索取用戶端憑證的伺服器造成嚴重的記憶體壓力,並可能發生拒絕服務。CWE:CWE-770:無限制或無限流的資源分配 說明:若憑證或一組憑證的大小未超過對等方所接受的憑證大小限制(約 100 KiB),則在正常的 TLS 握手過程中,可能會導致接收端分配數百 MiB 的駐留記憶體。 如果多個並行連線導致類似較大的記憶體配置,這可能足以使用戶端或伺服器當機。此修正程式會將憑證中 CRL 發佈點延伸模組的處理延遲至 CRL 處理需要處理值的時間。這可避免在收到此類憑證時,長時間保留大型記憶體配置。FIPS 影響:否,受影響的程式碼位於 FIPS 模組邊界之外外。(CVE-2026-35189)
- 問題摘要:用於 ECDSA 和 SM2 簽章運算的通用橢圓曲線標量乘法,若所使用的曲線未具備專用實作,則會透過時間洩露有關秘密隨機數的資訊。 影響摘要:若攻擊者能夠測量簽名時間,便可能獲取關於每個簽名所對應的機密隨機數(nonce)的資訊;當累積足夠多的簽名時,攻擊者便可透過格理論/隱數問題攻擊,進而復原私鑰。CWE:CWE-208:可觀察的時序差異描述:用於沒有專用恆定時間實現的曲線的通用橢圓曲線標量乘法使用非恆定時間 BIGNUM 運算填充秘密標量,因此所花費的時間取決於從 ECDSA 和 SM2 隨機派生的秘密標量的值。洩漏非常小;觀察它需要大量的測量。對於群組順序位於機器字邊界上的曲線,例如 brainpoolP384r1,這種影響最大。在 Brainpool 及其他通用質數曲線上使用 ECDSA 簽名,以及在使用通用實作的平台上使用 SM2 簽名的應用程式,均易受此問題影響。NIST 曲線 P-256、P-384 和 P-521 使用專用的恆定時間實作,不受影響。FIPS 影響:否 FIPS 模組不受影響:FIPS 提供者中使用的核准 NIST 曲線具有專用的常數時間實作,且不使用受影響的程式碼路徑。(CVE-2026-54872)
- 問題摘要:根據 PKCS#10 CSR 要求撤銷憑證的 CMP 用戶端可能會在處理特製的撤銷回應時,解除參照 NULL 指標並異常終止。影響摘要:該 NULL 指標解除參照問題發生於執行讀取操作時,這會導致受影響的用戶端應用程式崩潰並發生拒絕服務。CWE:CWE-476:NULL 指標解除參照 說明:撤銷憑證的 CMP 用戶端必須告訴伺服器要撤銷哪個憑證,並且可以透過提供 PKCS#10 CSR (而不是憑證本身或其簽發者名稱和序號) 來執行此操作。這是命令列上的「openssl cmp -cmd rr -csr <file>」,或透過 API 使用 OSSL_CMP_exec_RR_ses() 並經由 OSSL_CMP_CTX_set1_p10CSR() 提供憑證的 OSSL_CMP_exec_RR_ses()。CSR 不包含憑證的簽發者名稱和序號,因此用戶端不會傳送這些資訊。伺服器或可選擇在其回應中指明它所撤銷的憑證,用戶端接著會將該名稱與它所發送的內容進行比對。由於用戶端既未發送簽發者名稱也未發送序號,它沒有任何資訊可供比對,而伺服器會傳回一個特製的名稱讓用戶端從 NULL 指標讀取並導致當機。在撤銷回應抵達受影響的程式碼之前,系統會檢查該回應有無有效的訊息保護,因此攻擊者必須是惡意或遭入侵的 CMP 伺服器,或是擁有用於訊息保護之密碼的中間人。
以憑證或簽發者與序號 (而非 PKCS#10 CSR) 來識別待撤銷憑證的用戶端不會受到影響。FIPS 影響:由於 CMP 通訊協定實作位於 OpenSSL FIPS 模組邊界之外,因此沒有 FIPS 模組會受到此問題的影響。(CVE-2026-75805)
- 問題摘要:使用 AEAD 加密套件已建立的 DTLS 1.2 關聯可能會由單一未經驗證的資料包終止,其加密片段短於必要的明確 IV 和驗證標籤額外負擔 。影響摘要:攻擊者若能傳送路由傳送至現有 DTLS 1.2 關聯的資料包,就可以在不知道任何金鑰資料的情況下拆除該關聯。這是僅限於目標關聯的拒絕服務。不會對記憶體安全或機密性造成影響。CWE:CWE-1284:輸入描述中指定數量的驗證不當:在 TLS 1.2 和 DTLS 1.2 中,受 AEAD 加密套件保護的每筆記錄都會帶有明確的 IV,後面接著加密文和驗證標籤。解密這類記錄時,記錄層會先將記錄長度傳遞至加密實作,然後再檢查記錄是否足夠長以包含明確的 IV 和標籤。若記錄長度短於該上限,加密實作會拒絕此不合規的長度,而記錄層則將此視為內部錯誤,並觸發致命的 internal_error 警示,而非將該記錄視為驗證失敗的記錄。在TLS 1.2 情況下,相同的記錄會導致重大internal_error警示,而不是預期的bad_record_mac警示。由於任何無法解密的記錄都已終止 TLS 連線,因此這是通訊協定一致性問題,而不是 TLS 中的安全性問題。此修正程式會在進行任何 AEAD 處理之前,根據明確的 IV 和標籤長度驗證記錄長度,以便TLS報告bad_record_mac和 DTLS 以無訊息方式捨棄記錄。FIPS 影響:否,受影響的程式碼位於 FIPS 模組邊界之外外。(CVE-2026-75806)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
升級至 OpenSSL 3.0.23 或更新版本。
Plugin 詳細資訊
檔案名稱: openssl_3_0_23.nasl
代理程式: windows, macosx, unix
組態: 啟用徹底檢查 (optional)
支援的感應器: Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:C
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
時間媒介: CVSS:3.0/E:U/RL:O/RC:C
弱點資訊
CPE: cpe:/a:openssl:openssl
必要的 KB 項目: installed_sw/OpenSSL
可輕鬆利用: No known exploits are available