說明
遠端主機上安裝的 OpenSSL 為 3.0.22 之前版本。因此,它會受到 3.0.22 公告中所提及的多個弱點影響。
- 問題摘要:OpenSSL CMP 密碼型保護驗證只會檢查 protectionAlg 參數是否不是 NULL 且不是其 ASN.1 類型,然後再將其視為 PBMParameter。特製的訊息可以包含不同類型的參數,然後該參數會被當作無效指標進行解除參照。影響摘要:
未經驗證的遠端攻擊者可使充當接受受 PBM 保護訊息的 CMP 伺服器的應用程式當機,或與惡意或被攔截的 CMP 伺服器通訊的 CMP 用戶端當機,進而造成拒絕服務。CWE:CWE-476:NULL 指標解除參照 說明:在驗證 CMP 訊息的密碼型 MAC 保護時,OpenSSL 程式庫會使用 X509_ALGOR_get0() 讀取 protectionAlg 演算法參數,該參數會傳回參數類型及其值指標。然後,該值會轉換為 ASN1_STRING,並在檢查指標不是 NULL 之後被視為預期的 PBMParameter。系統從未查閱過 X509_ALGOR_get0() 傳回的參數類型。這會在保護驗證期間發生,且在計算任何 MAC 之前,因此不需要知道 PBM 共用密碼;唯一的先決條件是 PBM 驗證是可存取的。在伺服器端,任何啟動 CMP 伺服器並接受受 PBM 保護訊息的應用程式都可以透過 OSSL_CMP_SRV_process_request() 實現此功能;在用戶端,可以透過針對惡意伺服器或中間人 (MITM) 伺服器的 CMP 回應驗證來實現此功能。這會導致拒絕服務;沒有記憶體洩漏,沒有受控記憶體寫入,也沒有程式碼執行路徑。CMP 是應用程式必須明確啟用的特殊功能。FIPS 影響:無沒有 FIPS 模組會受此 CVE 影響,因為 CMP 代碼位於 FIPS 模組邊界之外。(CVE-2026-63076)
- 問題摘要:透過呼叫 EVP_Cipher() 函式完成作業時,使用空密文的 ChaCha20-Poly1305 和 AES-OCB 解密可以報告成功,而無需驗證提供的驗證標籤。影響摘要:在空白密文上呼叫 EVP_Cipher() 並預期呼叫來檢查 AEAD 標籤的應用程式可能會接受偽造的訊息。CWE:CWE-354(完整性檢查值驗證不當)說明:AEAD 密碼的 EVP_Cipher() API 呼叫的行為類似於一次性加密和解密呼叫。它還會在解密作業後驗證 AEAD 標籤。但是,對於 AES-OCB 和 ChaCha20-Poly1305 加密,當空密文傳遞給函式時,它會跳過 AEAD 標籤驗證。此函式的呼叫端可能會認為,成功傳回表示這些密碼的有效 AEAD 標籤,即使在此情況下尚未真正驗證。FIPS 影響:
無 4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模組不受此 CVE 影響,因為受影響的演算法未經 FIPS 核准,因此未在 FIPS 模組中實作。(CVE-2026-75803)
- 問題摘要:OpenSSL 憑證管理通訊協定 (CMP) 會快取在 CMP 訊息中傳送的其他憑證 (extraCerts),但絕不會刪除這些憑證(例如,如果其無效)。如果伺服器頻繁重複使用 OSSL_CMP_CTX,此 extraCerts 快取可能會無限增長,而惡意用戶端可能會向 CMP 伺服器發送大量要求,進而推動此增長。影響摘要:如果惡意用戶端重複傳送包含唯一額外憑證的要求,則使用在伺服器處理程序存留期內重複使用單一 OSSL_CMP_CTX 的 CMP 伺服器的使用者可能會觀察到無限的記憶體增長,這可能會導致 OOM 狀況。CWE:CWE-770:無限制或節流的資源配置說明:如果遠端使用者將 CMP 訊息傳送至具有 extraCerts 清單的伺服器,但訊息遭到拒絕,則訊息中的 extraCerts 會保留在伺服器內容不受信任的憑證堆疊中。這會使具有長期存留 ctx 物件的伺服器遭受拒絕服務攻擊,在這種攻擊中,攻擊者會反覆傳送想要拒絕的訊息,其中包含大量其他憑證,迫使伺服器無限期地儲存這些憑證。如果訊息遭到拒絕,則移除新增的額外憑證,使用與內容設定為完全不執行快取時相同的方法,已修正此問題。FIPS 影響:
無沒有 FIPS 模組會受此 CVE 影響,因為 CMP 代碼位於 FIPS 模組邊界之外。
(CVE-2026-63074)
- 問題摘要:OpenSSL CMS 解密會根據查詢未包裝的金鑰大小來調整金鑰解包輸出緩衝區的大小,但 AES-WRAP-PAD 解包原語可以寫入和清理比該查詢報告更多的位元組,從而造成 8 位元組的越界堆積寫入。影響摘要:當受害者使用 CMS_decrypt() 解密訊息時,提供特製 CMS 訊息的攻擊者可觸發確定性的 8 位元組越界堆積寫入,從而損壞堆積並通常導致拒絕服務。CWE:CWE-787:越界寫入 說明:金鑰包裝 OID 可能由攻擊者在網路上控制。CMS 展開允許 id-aesNNN-wrap-pad 和 id-aesNNN-wrap 密碼。攻擊者可以獲取合法訊息並變更單一 OID 位元組以選取填充變體,同時保持訊息在其他方面有效。由於解包金鑰衍生自收件者的私密作業 (ECDH 金鑰協議或 ML-KEM 解封裝),因此無法通過 RFC 5649 完整性檢查,且解密會因完整性失敗而失敗。寫入是固定大小 (8 位元組)、固定值 (零) 堆積溢位,緊接在配置之後,不需要特殊配置,並且可從公用 CMS_decrypt() 函式存取。結果是堆積損壞,導致拒絕服務。CMS 程式碼中的修正會針對最壞的情況調整解包輸出緩衝區的大小,因此失敗的解包無法寫入超過配置。FIPS 影響:否 由於 CMS 程式碼位於 FIPS 模組邊界之外,因此沒有 FIPS 模組受此 CVE 影響。(CVE-2026-63072)
- 問題摘要:在交握進行時接收未來紀元的 DTLS 記錄,會導致 OpenSSL 緩衝比記錄本身所需的記憶體多得多。影響摘要:對等可能會使用少量網路流量,使 OpenSSL DTLS 端點保留不成比例的大量記憶體,這可能會導致拒絕服務。CWE:CWE-405:非對稱資源消耗 (放大) 描述:當 DTLS 交握進行時,對等可能在本機端點處理相同的轉換之前就已經合法地移動到下一個紀元(例如,已傳送其 ChangeCipherSpec 和 Finished 訊息),這通常是因為基礎 UDP 傳輸上的重新排序。
OpenSSL 會緩衝此類早期記錄,以便在本機端點趕上後進行處理。
緩衝記錄目前會保留它到達的整個讀取緩衝區,其大小可保留最大可能的 DTLS 記錄 (大約 16 KB) ,而不只是構成記錄本身的位元組。每個連線最多可以緩衝 100 個此類記錄。因此,傳送聲稱屬於下一個紀元的小型偽造記錄串流的對等體可能會導致 OpenSSL DTLS 端點保留大約 1.7 MB 的記憶體,儘管透過網路僅傳送該資料量的一小部分。因此,攻擊者會獲得大約 1200 的記憶體放大係數,並且可以在其能夠開啟的關聯中倍增效果,從而使其成為 DTLS 伺服器的遠端記憶體耗盡拒絕服務風險。由於每個連線保留的記憶體仍受限制,而且應用程式已對並行關聯數目施加的任何限制也會限制總曝險,因此此問題已評估為「低」嚴重性。FIPS 影響:否 此問題不會影響 FIPS 模組,因為受影響的程式碼位於 OpenSSL FIPS 模組邊界之外。OpenSSL 4.0、3.6、3.5、3.4、3.0、1.1.1 和 1.0.2 易受此問題影響。OpenSSL 4.0 使用者應升級至 OpenSSL 4.0.2。OpenSSL 3.6 使用者應升級至 OpenSSL 3.6.4。OpenSSL 3.5 使用者應升級至 OpenSSL 3.5.8。OpenSSL 3.4 使用者應升級至 OpenSSL 3.4.7。OpenSSL 3.0 使用者應升級至 OpenSSL 3.0.22。僅限進階支援客戶: OpenSSL 1.1.1 使用者應升級至 OpenSSL 1.1.1zi OpenSSL 1.0.2 使用者應升級至 OpenSSL 1.0.2zr 此問題由 Amazon Web Services 於 2026 年 5 月 18 日報告。該修復程序由 Matt Caswell 開發。-- 剪切 (供內部使用的非發佈中繼資料) -- 報告者:Amazon Web Services 修復者:Matt Caswell (CVE-2026-54874)
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
升級至 OpenSSL 3.0.22 或更新版本。
Plugin 詳細資訊
檔案名稱: openssl_3_0_22.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:N/I:N/A:C
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/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