OpenSSL 於 9 月 29 日發布更新,修補了一個高嚴重性的漏洞,該漏洞可能導致堆疊記憶體(heap memory)在 DTLS 連線中被未加密地洩漏,或導致程式崩潰。
DTLS 是用於 UDP 流量的 TLS 變體,當計時器到期前未收到回覆時,它會重新傳送握手訊息。當較大的握手訊息在傳送過程中卡住,而此時又開始重新傳送時,就可能發生記憶體洩漏或程式崩潰。
此漏洞追蹤代碼為 CVE-2026-84782,已在 OpenSSL 4.0.3、3.6.5、3.5.9 和 3.4.8 版本中修補。舊版本 3.0、1.1.1 和 1.0.2 的修補程式僅提供給付費客戶。OpenSSL 3.0 已於 9 月 7 日停止提供公開安全修補。
OpenSSL 並未說明攻擊者是否能誘發在訊息卡住時重新傳送,也未報告任何利用此漏洞的攻擊。
DTLS 的應用包括保護 WebRTC 資料通道以及建立網路電話的加密金鑰。只有使用 OpenSSL 處理 DTLS 的軟體才會受到此漏洞影響。
DTLS 會將大型握手訊息分割成適合單一 UDP 資料包的片段。如果連線當下無法接受更多資料,傳送可能會在中途暫停,稍後再繼續。在傳送暫停期間,重新傳送計時器仍可能觸發並再次傳送先前的訊息。
在修補之前,重新傳送會使用緩衝區中暫停訊息的位置,而不是從被重新傳送訊息的開頭開始。重新傳送的訊息會帶有錯誤的標籤,其內容是較大訊息中剩餘的位元組,讀取這些位元組可能導致緩衝區溢位。
根據 OpenSSL 的說法,帶有錯誤標籤的訊息可能將堆疊記憶體作為未加密的握手資料傳送給對方。如果讀取操作觸及未映射的記憶體,程式就會崩潰。
OpenSSL 並未將此漏洞限制於 DTLS 用戶端或伺服器,其修補程式在兩種角色下都經過測試。
此漏洞由 Secorizon 的 Laurent Gaffie 於 8 月 17 日報告,Ryan Hooper 開發了修補程式。
OpenSSL 將此漏洞評為「高」(High),在其嚴重性等級中僅次於「嚴重」(Critical)。該專案的安全政策建議盡快安裝包含「高」等級修補程式的更新。
CISA 於 9 月 29 日給予此漏洞 CVSS 分數 8.2 分(滿分 10 分),評估其對機密性的影響為「低」,對可用性的影響為「高」。CISA 的記錄當時列出「無」利用情況。OpenSSL 不使用 CVSS 來設定其嚴重性評級,並表示外部評分可能與其評級差異很大。
Ubuntu 的安全通知指出,攻擊者可能利用此漏洞造成「不正確的握手行為或阻斷服務」。該通知並未提及記憶體洩漏。
此漏洞影響 OpenSSL 4.0、3.6、3.5、3.4、3.0、1.1.1 和 1.0.2 的所有版本,直到下方顯示的修補版本之前。
OpenSSL 未提供無法立即更新的使用者可採取的因應措施。Ubuntu 已於 9 月 29 日在其自身套件中修補了此漏洞,這些套件保留了較舊的 OpenSSL 版本號碼:
Ubuntu 使用者更新後需要重新啟動,所有變更才能生效。
Debian 在 Debian 13 中修補了此漏洞,版本為 3.5.7-1~deb13u3 的 openssl 套件,發布為 DSA-6531-1。截至 9 月 30 日 UTC 時間 07:36,其安全追蹤器仍將 Debian 12 列為易受攻擊狀態。
最後一個公開的 3.0 版本是 3.0.22,於 8 月 25 日發布。3.0.23 版本是 OpenSSL 未公開發布的第一個 3.0 安全版本。它修補了 9 月 29 日披露的 14 個漏洞中的 6 個,包括 CVE-2026-84782。
對於使用 OpenSSL 3.0 的 Ubuntu 22.04 和 24.04,修補程式已包含在上述套件中。任何自行建置 OpenSSL 3.0 或將其副本嵌入自身軟體的使用者,將無法從 OpenSSL 獲得公開修補。
OpenSSL 建議升級到較新的分支,例如 4.0 或長期支援版本 3.5。另一種選擇是付費支援合約,該合約提供對其公開終止日期之後版本的持續安全修補存取權。
9 月 29 日發布的版本還修補了另外 13 個漏洞。其中最嚴重的 CVE-2026-84783 被評為「中等」(Moderate),僅影響 OpenSSL 4.0。
遠端、未經驗證的對等節點可能利用此漏洞,導致多執行緒 TLS 用戶端或要求用戶端憑證的多執行緒 TLS 伺服器崩潰。這僅在多個連線同時建立其第一個憑證鏈到同一受信任的 CA 憑證時才會發生。
另一個 DTLS 漏洞 CVE-2026-75806 被評為「低」(Low)。它影響已建立的、使用 AEAD 密碼套件的 DTLS 1.2 連線。任何能夠向此類連線傳送資料包的人,都可以透過一個過短的資料包終止連線,而無需知道任何金鑰。
其他 11 個漏洞也被評為「低」,其中包括 OpenSSL QUIC 程式碼中的 5 個漏洞,以及 ECDSA 和 SM2 程式碼中的 3 個時序側通道漏洞。


