# 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