OpenSSH 10.5p1 がリリースされました

2026/08/11, OpenSSH 10.5p1 がリリースされました.

# https://www.openssh.org/releasenotes.html#10.5

Potentially-incompatible changes
--------------------------------

互換性がなくなる可能性がある変更

 * Portable OpenSSH now requires ECC (Elliptic Curve Cryptography)
   support in libcrypto, including support for the NISTP521 curve.
   ECC is included in the default build configurations of all
   versions of all libcrypto implementations currently supported by
   OpenSSH, including LibreSSL, OpenSSL, BoringSSL and AWS LC.
   The --without-openssl build configuration is not affected.

   Portable OpenSSH は libcrypto における ECC (楕円曲線暗号) のサポートを
   必要とするようになった。これには NISTP521 曲線のサポートも含まれる。
   ECC は、LibreSSL, OpenSSL, BoringSSL, AWS LC を含む、OpenSSH が現在
   サポートしているすべての libcrypto 実装のすべてのバージョンにおいて、
   デフォルトのビルド構成に含まれている。--without-openssl のビルド構成は
   影響を受けない。

Changes since OpenSSH 10.4
==========================

OpenSSH 10.4 からの変更点

This release contains a number of security fixes and small bugfixes.

このリリースには、多数のセキュリティ修正と小さなバグ修正が含まれている。

Security
========

セキュリティ

 * ssh-agent(1): fix an interaction between agent locking and the
   session-bind@openssh.com extension that is used to identify
   forwarded agents. These binding requests were refused when the
   agent was locked, with the result that operations that were
   intended to be limited to local use only could be performed
   remotely, including the ability to add PKCS#11 tokens and make
   use of keys that had destination restrictions applied.
   Reported by sn0x-sharma

   ssh-agent(1): エージェントのロックと、転送されたエージェントを識別する
   ために使用される session-bind@openssh.com 拡張との間の相互作用を修正する。
   エージェントがロックされている場合、これらのバインド要求は拒否されており、
   その結果、ローカルでの使用のみに限定されることが意図されていた操作が
   リモートで実行可能になっていた。これには PKCS#11 トークンを追加する機能や、
   宛先制限が適用されたキーを使用する機能が含まれる。
   sn0x-sharma により報告。

 * ssh(1): avoid potential realloc use-after-free in the client if a
   remote forwarding is added via the local session multiplexing
   socket while a remote forwarding open request is pending with the
   server. Report and fix from Brian Mingus of Cognatory

   ssh(1): リモート転送のオープン要求がサーバに対して保留中の間に、
   ローカルのセッション多重化ソケット経由でリモート転送が追加された場合の、
   クライアントにおける realloc の解放後使用 (use-after-free) の可能性を
   回避する。Cognatory の Brian Mingus による報告と修正。

 * sshd(8): make the authorized_keys "restrict" keyword apply
   correctly to tunnel forwarding too (which is administratively
   disabled by default). Reported by Erichen, Institute of Computing
   Technology, Chinese Academy of Sciences

   sshd(8): authorized_keys の "restrict" キーワードが、トンネル転送
   (これは管理上デフォルトで無効になっている) にも正しく適用されるように
   する。中国科学院計算技術研究所の Erichen により報告。

New features
------------

新機能

 * ssh-keygen(1): add ability to set or clear the touch-required and
   verify-required flags on FIDO private keys when resetting a
   private key's passphrase.

   ssh-keygen(1): 秘密鍵のパスフレーズをリセットする際に、FIDO 秘密鍵の
   touch-required および verify-required フラグを設定または解除する機能を
   追加する。

 * ssh(1): tweak ordering of certificates tried during pubkey
   authentication to prefer FIDO keys that do not require user
   presence (touch) first, and FIDO keys that require user
   verification via PIN or biometrics last. This effectively tries
   low-friction authenticators before higher friction ones.

   ssh(1): 公開鍵認証中に試行される証明書の順序を調整し、ユーザーの
   存在確認 (タッチ) を必要としない FIDO キーを最初に、PIN または生体認証に
   よるユーザー検証を必要とする FIDO キーを最後にすることを優先する。
   これは実質的に、摩擦の少ない認証器を摩擦の多いものより先に試すことになる。

 * ssh(1): add a "ssh -Z user@host" mode that prints the keys that
   will be tried for public key authentication in the order that
   they will be used.

   ssh(1): 公開鍵認証で試行されるキーを、使用される順序で表示する
   "ssh -Z user@host" モードを追加する。

 * sshd(8) use setproctitle(3) to identify sshd-session when its
   acting as a post-authentication monitor.

   sshd(8): sshd-session が認証後のモニタとして動作している場合に、
   それを識別するために setproctitle(3) を使用する。

Bugfixes
--------

バグ修正

 * ssh-keyscan(1): make reading the server banner a non-blocking
   operation to prevent a stuck server from blocking a many-host
   keyscan from proceeding.

   ssh-keyscan(1): サーバのバナーの読み取りを非ブロッキング操作にし、
   停止したサーバによって多数のホストに対する keyscan の進行が妨げられるのを
   防ぐ。

 * sshd(8): use sshpkt_fatal() instead of plain fatal() for errors
   in the packet code as this provides context of the failing peer
   (address, port, user, etc).

   sshd(8): パケットコードのエラーに対して、単なる fatal() ではなく
   sshpkt_fatal() を使用する。これは失敗したピアのコンテキスト
   (アドレス、ポート、ユーザーなど) を提供するためである。

 * sshd(8): when signing hostkey proofs for a client UpdateHostKeys
   request, allow each hostkey to perform at most one signature
   operation.

   sshd(8): クライアントの UpdateHostKeys 要求に対してホストキーの証明に
   署名する際に、各ホストキーが実行できる署名操作を最大 1 回に制限する。

 * sshd(8) fix GSSAPI option names, that were broken during a
   servconf.c refactoring in openssh-10.4; bz3974.

   sshd(8): openssh-10.4 での servconf.c のリファクタリング中に壊れていた
   GSSAPI のオプション名を修正する。 bz3974

 * ssh-keygen(1): pass back errors from ed25519 key generation, which
   theoretically can fail. GHPR702.

   ssh-keygen(1): 理論的には失敗しうる ed25519 のキー生成からのエラーを
   呼び出し元に返す。 GHPR702

 * sshd(8): move check of public key type against allowed algorithms
   to before parsing of the key sent by the peer. This removes at
   least some key parsing and verification paths from the pre-auth
   attack surface. Suggested by Christopher Paul Rohlf of Anthropic.

   sshd(8): 公開鍵のタイプを許可されたアルゴリズムと照合するチェックを、
   ピアが送信したキーの解析より前に移動する。これにより、少なくとも一部の
   キーの解析と検証のパスが認証前の攻撃面から取り除かれる。
   Anthropic の Christopher Paul Rohlf により提案。

 * ssh-keygen(1): fix double frees (impossible to reach outside of a
   test harness), and also use freezero where possible. From
   Christopher Paul Rohlf at Anthropic.

   ssh-keygen(1): 二重解放 (テストハーネスの外では到達不可能) を修正し、
   また可能な箇所では freezero を使用する。Anthropic の
   Christopher Paul Rohlf による。

 * sshd(8): fix ChannelTimeout and RekeyLimit not being applied in
   sshd_config Match blocks.

   sshd(8): sshd_config の Match ブロック内で ChannelTimeout と RekeyLimit が
   適用されていなかったのを修正する。

 * sshd(8): in sshd config dump mode, write all directives in mixed
   case for consistency

   sshd(8): sshd の設定ダンプモードにおいて、一貫性のためにすべての
   ディレクティブを大文字小文字混在で書き出す。

Portability
-----------

移植性

 * sshd(8): re-allow PAMServiceName inside a Match block, which
   was incorrectly disabled during a refactoring in openssh-10.4.
   bz3987

   sshd(8): openssh-10.4 でのリファクタリング中に誤って無効にされていた、
   Match ブロック内での PAMServiceName を再び許可する。 bz3987