
OpenSSH 10.6 發布:收緊預設設定、啟用混合後量子簽名
OpenSSH 團隊於 2026 年 10 月 6 日發布 OpenSSH 10.6,可經官方鏡像網站取得。[1][2]
因 AI 報告增加而加快發布節奏
官方在發布聲明開首指繪團近期收到大量安全錯誤報告,其中不少來自人工智能模型或借助人工智能協助的發現。官方表示,許多由 AI 提出的報告在現實封測模型下並無安全影響,但團隊仍歡迎這類報告,尤其是同時附有人手分析、測試、測試個案,以及修補建議的情況。[1]
官方進一步指出,團隊已多次見到由 AI 工具發現的安全議題,其後由另一位研究人員獨立發現。這意味著不向開源項目報告問題的攻擊者,同樣有可能找到那些漏洞。有見及此,OpenSSH 團隊表示,暫時會更頻密地發布版本,讓修正更快到達使用者手上,而不再把所有修正累積至下一個計劃發布日。[1]
保安修正
官方列出多項保安相關修正。[1]
sftp 對伺服器回傳的路徑改為更嚴格驗證,避免伺服器透過特定路徑操縱越權複制操作,把檔案寫到目標目錄之外;報告及修補來自 Junghoon Cho。使用 GSSAPI 認證時,sshd 只會在認證成功後才儲存 GSSAPI 憑證,避免失敗嘗試留下的憑證在另一次認證成功後被不當使用,並在認證前重設 GSSAPI 認證;相關報告及回饋來自 Moritz Theile。[1]
官方亦停用 LZ77 字典編碼器,以縮解 Fabian Bäumer 與 Marcus Brinkmann 論文《Crossing the Streams: SSH Plaintext Recovery via a Common Compression Context in Multiplexed Channels》所描述的信道漏洞(預印本編號 arXiv:2609.07709)。官方解釋,該攻擊利用字典寬鬆:由於 SSH 連線的編碼搜尋窗口在所有通道之間共享,攻擊者控制的輸入可透過 LZ77 的後向引用,反映在傳輸密文的總長度上,從而從一個通道恢復另一個通道的機密。這項改動會降低寬鬆選項的效果,官方建議輕量改用層壓縮,並指後者通常更有效,且完全不受此類攻擊影響。[1]
此外,ssh 拒絕命令列帶有 $ 與 \ 字元的用戶名,以免來自不受信任來源的用戶名在 ProxyCommand、Match exec 等場景外溢注入;設定檔指定的用戶名不受此限制。官方重申,不建議把 ssh 等工具的命令列直接暴露於不受信任的輸入,並指這類縮解措施在顯多外溢且使用者設定下無法做到絕對針對。[1]
其他修正包括:ssh-keygen 較換日期時正確處理日光節省時區省時,避免憑證到期時出現最多一小時誤差(bz4004,來自 Khush Patel);確保解壓後的載荷不會超過最大封包長度;以及調整私鑰解析的輪換上限以免解析異常金鑰時耗時過長。[1]
不兼容與棄用變更
官方指出,由於上述 LZ77 改動,ssh 與 sshd 的壓縮效果會較差。在不容許傳遞檔案描述元、且需要 root 權限配置 PTY 的平台上,sshd 會強制停用 GatewayPorts 與 StreamLocalForwarding;受影響平台包括 SCO OpenServer 5 與 QNX 6,官方指如果社群無法提供替代方案,未來版本將移除對那些平台的支援。[1]
scp 的 -R 參數(在遠端主機執行 scp 以作遠端對遠端複製)亦開始棄用:由 10.6 起該參數仍可使用,但會向標準錯誤輸出棄用警告;未來版本將忽略該參數,改回經由主機複製。[1]
新功能
官方公開的新功能包括:全面啟用混合後量子簽名演算法 ssh-mldsa44-ed25519,並指新實作不再使用以往實驗性的 @openssh.com 廠商後綴,以新實作支援產生的金鑰必須重新產生或移除。[1]
sshd 新增 WarnWeakCrypto 選項(此選項以往只供客戶端使用),預設啟用,當客戶端使用非後量子安全的金鑰協商方案時會記錄日誌。ssh-keygen 與 ssh-add 改為檢查憑證的 credProtect 政策,以保留從 FIDO 權杖載入的常駐金鑰所需的用戶驗證要求(PIN 或生物識別)要求(GHPR701,來自 Savely Krasovsky)。[1]
其他變動
官方亦更新預設 KDF 輪換數,由 24 增至 32(鹽長度增長);改善 seccomp 沙盒設定,容許 GrapheneOS 所需的 madvise(..., MADV_DONTNEED_LOCKED),並把 mremap(2) 可接受的旗標限制為僅 MREMAP_MAYMOVE(報告者 Mohammad Hossein Abedini);以及修正自 10.4 起在 Match 區域設定 PAMServiceName 失效的回歸問題。[1]