OpenSSL 軟件庫曝高危漏洞,可實施中間人攻擊
OpenSSL 修補了由蘋果發現的高嚴重性漏洞 CVE-2024-12797,該漏洞可能導致中間人攻擊。
OpenSSL 項目在其安全通信庫中修復了一個高嚴重性漏洞,編號為 CVE-2024-12797。OpenSSL 軟件庫用于在計算機網絡中實現安全通信,防止竊聽并確保通信雙方的認證。該庫包含了安全套接層(SSL)和傳輸層安全(TLS)協議的開源實現。
漏洞詳情
該漏洞影響使用 RFC7250 原始公鑰(RPK)的客戶端 TLS/DTLS 連接。由于在 SSL_VERIFY_PEER 模式下服務器認證檢查失敗,攻擊者可能利用此漏洞發起中間人攻擊。蘋果研究人員于 2024 年 12 月 18 日報告了該漏洞,并由 Viktor Dukhovni 修復。
影響范圍
漏洞主要影響那些顯式啟用 RPK 并依賴 SSL_VERIFY_PEER 來檢測認證失敗的 TLS 客戶端。OpenSSL 維護者指出,默認情況下,RPK 在 TLS 客戶端和服務器中均為禁用狀態。項目公告中明確表示:“只有在 TLS 客戶端顯式啟用服務器端的 RPK,且服務器也發送 RPK 而非 X.509 證書鏈時,才會引發此問題。受影響的客戶端通過設置驗證模式為 SSL_VERIFY_PEER,期望在服務器的 RPK 與預期公鑰不匹配時握手失敗。”
修復建議
即便如此,啟用服務器端原始公鑰的客戶端仍可通過調用 SSL_get_verify_result() 來檢查原始公鑰驗證是否失敗。該漏洞最初出現在 OpenSSL 3.2 版本的 RPK 支持實現中。受影響的版本包括 OpenSSL 3.4、3.3 和 3.2,此漏洞已在 3.4.1、3.3.2 和 3.2.4 版本中得到修復。
歷史漏洞回顧
2022 年 11 月,OpenSSL 項目發布安全更新,修復了其加密庫中的兩個高嚴重性漏洞,編號分別為 CVE-2022-3602 和 CVE-2022-3786。這兩個漏洞影響了 3.0.0 至 3.0.6 版本的庫。
這兩個漏洞均為緩沖區溢出問題,攻擊者可通過提供特制的電子郵件地址在 X.509 證書驗證中觸發。Censys 發布的一篇文章中提到:“第一個漏洞 CVE-2022-3786 允許攻擊者‘在證書中構造惡意電子郵件地址,以溢出包含.字符的任意字節。第二個漏洞 CVE-2022-3602 類似,但攻擊者可以通過惡意電子郵件溢出棧上的四個受控字節。’這可能導致服務拒絕或遠程代碼執行。”
這種緩沖區溢出可能導致服務拒絕,甚至引發遠程代碼執行。