# https://www.openssh.com/releasenotes.html#9.3 Changes since OpenSSH 9.2 ========================= OpenSSH 9.2 からの変更点 This release fixes a number of security bugs. このリリースはいくつかのセキュリティバグを修正する. Security ======== セキュリティ This release contains fixes for a security problem and a memory safety problem. The memory safety problem is not believed to be exploitable, but we report most network-reachable memory faults as security bugs. このリリースはセキュリティの問題とメモリ安全の問題の修正を含んでいる. メモリ安全の問題は攻撃可能であるとは思われないが, 我々は ネットワーク到達可能なメモリ操作の失敗のほとんどはセキュリティバグ として報告する. * ssh-add(1): when adding smartcard keys to ssh-agent(1) with the per-hop desination constraints (ssh-add -h ...) added in OpenSSH 8.9, a logic error prevented the constraints from being communicated to the agent. This resulted in the keys being added without constraints. The common cases of non-smartcard keys and keys without destination constraints are unaffected. This problem was reported by Luci Stanescu. ssh-add(1): OpenSSH 8.9 で加えられた hop 単位での送信先制約で ssh-agent(1) にスマートカードの鍵を追加する際, 論理エラーにより 制約がエージェントに伝達されない. これにより, 鍵は制約なしに 追加されてしまう. スマートカードの鍵でない場合と送信先制約がない 鍵の一般的な場合には影響しない. この問題は Luci Stanescu によって 報告された. * ssh(1): Portable OpenSSH provides an implementation of the getrrsetbyname(3) function if the standard library does not provide it, for use by the VerifyHostKeyDNS feature. A specifically crafted DNS response could cause this function to perform an out-of-bounds read of adjacent stack data, but this condition does not appear to be exploitable beyond denial-of- service to the ssh(1) client. ssh(1): 移植版 OpenSSH は VerifyHostKeyDNS で利用するため, 標準ライブラリで提供していない場合 getrrsetbyname(3) 関数の実装 を提供する. 特別に加工された DNS 応答は, この関数が 隣接したスタック データの境界外の読み込みを発生させる. ただしこの条件は ssh(1) クライアントに対するサービス不能攻撃を越えては攻撃可能でないようだ. The getrrsetbyname(3) replacement is only included if the system's standard library lacks this function and portable OpenSSH was not compiled with the ldns library (--with-ldns). getrrsetbyname(3) is only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This problem was found by the Coverity static analyzer. getrrsetbyname(3) の代替は, システムの標準ライブラリがこの関数を欠いていて OpenSSH が ldsn ライブラリ (--with-ldns) と共にコンパイルされていない場合に のみ含まれる. getrrsetbyname(3) は SSHFP レコードを取得するために VerifyHostKeyDNS を用いる場合のにみ利用される. この問題は Coverity 静的解析器によって発見された. New features ------------ 新機能 * ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256 when outputting SSHFP fingerprints to allow algorithm selection. bz3493 ssh-keygen(1), ssh-keyscan(1): アルゴリズムの選択を許すため SSHFP 指紋の出力時に -Ohashalg で sha1 か sha256 を許可する. bz3493 (デフォルトでは両方出力される) * sshd(8): add a `sshd -G` option that parses and prints the effective configuration without attempting to load private keys and perform other checks. This allows usage of the option before keys have been generated and for configuration evaluation and verification by unprivileged users. sshd(8): `sshd -G` オプションを追加する. これは, 秘密鍵のロードや 他のチェックの実行なしで有効な設定をパースし出力する. 鍵が生成される前や, 設定の評価, 非特権ユーザによる検証に このオプションは利用できる. Bugfixes -------- バグ修正 * scp(1), sftp(1): fix progressmeter corruption on wide displays; bz3534 scp(1), sftp(1): 広いディスプレイでのプログレスメーターの問題を修正 bz3534 * ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing usability of private keys as some systems are starting to disable RSA/SHA1 in libcrypto. ssh-add(1), ssh-keygen(1): 一部のシステムで libcrypto の RSA/SHA1 が無効化され始めているので, 秘密鍵の利用可能性のテストに RSA/SHA256 を利用する. * sftp-server(8): fix a memory leak. GHPR363 sftp-server(8): メモリリークを修正する. GHPR363 * ssh(1), sshd(8), ssh-keyscan(1): remove vestigal protocol compatibility code and simplify what's left. ssh(1), sshd(8), ssh-keyscan(1): 名残りで残っていたプロトコル 互換性コードを除去し, 残ったものを単純化する. * Fix a number of low-impact Coverity static analysis findings. These include several reported via bz2687 Coverity 静的解析探索で見付かった低インパクトの問題を いくつか修正する. koreraha bz2687 でレポートされたものをいくつか含む. * ssh_config(5), sshd_config(5): mention that some options are not first-match-wins. ssh_config(5), sshd_config(5): 一部のオプションは最初にマッチしたものが 使われるわけではないことを言及する. * Rework logging for the regression tests. Regression tests will now capture separate logs for each ssh and sshd invocation in a test. 再帰テストのログを再度動くようにする. 再帰テストは今やテストでの それぞれの ssh と sshd の工藤で別々のログを捕捉するようになる. * ssh(1): make `ssh -Q CASignatureAlgorithms` work as the manpage says it should; bz3532. ssh(1): `ssh -Q CASignatureAlgorithms` を man にあるように動くように する; bz3532 * ssh(1): ensure that there is a terminating newline when adding a new entry to known_hosts; bz3529 ssh(1): known_hosts に新しいエントリを追加する際, 終端の改行がある のを保証する; bz3529 Portability ----------- 移植性 * sshd(8): harden Linux seccomp sandbox. Move to an allowlist of mmap(2), madvise(2) and futex(2) flags, removing some concerning kernel attack surface. sshd(8): Linux の seccomp サンドボックスを教科する. mmap(2) と madvise(2), futex(2) フラグの許可リストへ移動し, いくつかの関連するカーネル攻撃の対象を除去する. * sshd(8): improve Linux seccomp-bpf sandbox for older systems; bz3537 sshd(8): 古いシステムに対する seccomp-bpf サンドボックスを 改善する; bz3537