OpenSSH 10.6 は 2026 年 10 月 6 日に公開されました。10.5(8 月 11 日)から 2 か月足らずです。前回の記事では 10.4 と 10.5 でログインできなくなりかねない変更を整理しましたが、今回の中心は一連のセキュリティ修正で、そのうち 2 つは既存の挙動を変えます。

注目すべきセキュリティ修正

  • 圧縮のサイドチャネル:Bäumer 氏と Brinkmann 氏の研究「Crossing the Streams」が示したサイドチャネルによる漏えいを緩和するため、LZ77 辞書符号化を無効にしました。代わりに、圧縮を使う接続では圧縮率が下がります。
  • コマンドラインでのユーザー名インジェクション:コマンドラインで入力するユーザー名に $ と \ を使えなくなりました。信頼できない入力元のユーザー名がシェルの文脈でインジェクションにつながるのを防ぐためです。外部のデータを ssh user@host に組み込むスクリプトがあるなら、この修正が関係します。
  • sftp の再帰ダウンロード:サーバーが返すパスをより厳密に検証し、悪意あるサーバーが再帰コピーの書き込み先を対象ディレクトリの外へ誘導できないようにしました。
  • GSSAPI:2 件の修正により、認証に失敗した試行の資格情報が保存されなくなりました。
  • authorized_keys の restrict がトンネル転送にも正しく適用されるようになりました。鍵に restrict を付けていても、サーバー側で PermitTunnel を有効にしていれば、これまではその鍵でトンネルを要求できる可能性がありました。
  • そのほか:圧縮後のペイロードが最大パケット長を超えないようにする修正、Match ブロック内で none を指定したオプションの解析の修正、ssh-keygen が夏時間の前後で証明書の日時を最大 1 時間誤る問題の修正があります。

既存の使い方に影響しうる 2 つの変更

  • ユーザー名の検証が厳しくなった:コマンドラインで $ や \ を含むユーザー名は拒否されます。設定ファイルに書いたユーザー名はこの規則の対象外です。自動化スクリプトを確認してください。
  • ファイルディスクリプタの受け渡しができないプラットフォームでは、GatewayPorts と StreamLocalForwarding が強制的に無効になります。主要な Linux ディストリビューションは該当しません。

サーバー運用に関係する新機能

ハイブリッドの耐量子署名アルゴリズム ssh-mldsa44-ed25519 が有効になりました。sshd には弱い暗号方式を警告する WarnWeakCrypto オプションが加わり、sftp は mkdir -p に対応し、ChannelTimeout は小数の秒数を受け付けるようになり、エージェントのソケットの場所を指定する AgentSocketPath オプションも追加されました。

アップグレードの進め方

多くのディストリビューションは 10.6 一式をすぐに安定版へ入れるのではなく、出荷中のバージョンにセキュリティ修正をバックポートします。バージョン番号ではなく、ディストリビューションのセキュリティ勧告を見てください。sshd を更新する前に、ログイン済みのセッションを 1 つ残し、sshd -t で設定を確認してからサービスを再起動すれば、締め出されることはありません。SSH の基本は SSH で Linux VPS に接続する(パスワードと鍵)、更新後に接続できなくなったら SSH 接続のトラブルシューティング・チェックリストを参照し、ついでにファイアウォールと鍵認証の設定も見直しておきましょう。