OpenSSH 9.9p2 修復了兩個嚴重的 MITM 漏洞

OpenSSH 提供了一組豐富的安全隧道功能

幾天前, 達米安·米勒 (OpenSSH 的開發人員之一), 廣為人知透過郵件列表, OpenSSH 9.9p2 維護版本 修復了兩個嚴重漏洞 Qualys 發現,該漏洞可能被利用來發動中間人 (MITM) 攻擊。

提到這些故障 允許攻擊者攔截 SSH 連接 並誘騙客戶端接受惡意伺服器的金鑰而不是目標伺服器的合法金鑰。

CVE-2025-26465:SSH 金鑰驗證繞過

此修正版本發布中修復的第一個漏洞是 CVE-2025-26465。 此漏洞是由於 ssh 實用程式中的邏輯錯誤造成的, 這使得攻擊者可以繞過伺服器金鑰驗證並成功執行 MITM 攻擊。

當客戶端嘗試連線時 到 SSH 伺服器, 攻擊者可以將流量重定向到虛假伺服器 並導致客戶端在沒有警告的情況下接受錯誤的密鑰,認為它已連接到合法伺服器。

除此之外,此漏洞還:

  • 它自 6.8p1 版本(2014 年 XNUMX 月)以來就存在於 OpenSSH 中。
  • 當 VerifyHostKeyDNS 選項啟用時觸發。
  • 在基本 OpenSSH 配置中,此選項預設是停用的,但在 FreeBSD 中,它一直啟用到 2023 年 XNUMX 月。

至於原因 導致此失敗的原因,其中提到 這是因為 verify_host_key_callback() 函數呼叫 verify_host_key(), 但它只會檢查傳回的錯誤代碼是否為 -1,而忽略其他錯誤代碼(如 -2)。什麼時候 當記憶體不足時,verify_host_key() 回傳 -2,但由於遺漏了錯誤代碼, 系統錯誤地認為主機金鑰已經通過驗證 正確地。

因此,攻擊者可以透過建立一個發送大型主機金鑰(256 KB)的偽 SSH 伺服器來利用此缺陷,從而導致客戶端記憶體消耗過多並觸發未處理的錯誤情況。

CVE-2025-26466:SSH 中的記憶體洩漏和過度 CPU 消耗

第二個被修正的漏洞是 CVE-2025-26466,此漏洞 影響 ssh 用戶端和 sshd 伺服器, 因為 允許耗盡記憶體 透過重複發送 SSH2_MSG_PING 封包,可以阻止該進程並產生高 CPU 負載。

此漏洞的最大影響在於 無需身份驗證即可利用漏洞,並且會影響 OpenSSH 9.5p1 版本 (2023 年 XNUMX 月)。此外,它還允許攻擊者消耗系統資源、降低效能甚至導致拒絕服務 (DoS)。

關於導致此故障的原因,提到這是由於 每個傳入的 2 位元組 SSH16_MSG_PING 封包都會導致分配一個 256 位元組的緩衝區 在記憶中。直到金鑰協商完成時才會釋放此緩衝區,從而導致在發送多個 PING 封包時發生記憶體洩漏。

緩解和解決方案

解決方法是, 建議設定限制 在 sshd_config 中使用以下指令:

  • 登入寬限時間: 這限制了身份驗證的超時時間。
  • MaxStartups: 限制未經身份驗證的連線數量。
  • 每個來源的處罰: 對產生多次連線嘗試的用戶端施加懲罰。

至於 解決方案, 第一個也是最推薦的是 將 OpenSSH 升級到發布版本“9.9p2” 盡快修復這些漏洞。但如果立即升級不可行,則應採用上述緩解措施。此外,建議停用 VerifyHostKeyDNS,除非使用可靠的 DNSSEC 驗證機制。

如果你是 有興趣了解更多關於它的信息, 您可以在中查看詳細信息 以下鏈接。

如何在 Linux 上安裝 OpenSSH?

對於那些對能夠在其係統上安裝此新版本的OpenSSH感興趣的人, 現在他們可以做到 下載此源代碼並 在他們的計算機上執行編譯。

這是因為新版本尚未包含在主要Linux發行版的存儲庫中。 要獲取源代碼,您可以從 以下鏈接.

完成下載, 現在,我們將使用以下命令解壓縮該軟件包:

tar -xvf openssh-9.9p2.tar.gz

我們輸入創建的目錄:

cd openssh-9.9p2

Y 我們可以用 以下命令:

./configure --prefix = / opt --sysconfdir = / etc / ssh進行安裝