https://www.openssh.com/txt/release-8.1 Security ======== セキュリティ * ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer overflow bug was found in the private key parsing code for the XMSS key type. This key type is still experimental and support for it is not compiled by default. No user-facing autoconf option exists in portable OpenSSH to enable it. This bug was found by Adam Zabrocki and reported via SecuriTeam's SSD program. ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): XMSS 鍵タイプの秘密鍵を をパースするコードに悪用可能な整数オーバフローが見つかった. この鍵 タイプはまだ実験的でコンパイル時にデフォルトでサポートされない. 移植版 OpenSSH にこれを有効にするユーザ向けのオプションは存在しない. このバグは Adam Zabrocki によって発見され, SecuriTeam の SSD プログラムによって報告された. * ssh(1), sshd(8), ssh-agent(1): add protection for private keys at rest in RAM against speculation and memory side-channel attacks like Spectre, Meltdown and Rambleed. This release encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large "prekey" consisting of random data (currently 16KB). ssh(1), sshd(8), ssh-agent(1): RAMに存在する秘密鍵に対して, Spectre, Meltdown, Rambleed のような推測やメモリサイドチャネル攻撃 に対する保護を追加する. ランダムなデータ (現在は 16KB) で構成される 相対的に大きな "prekey" から導出される対称鍵を秘密鍵が利用していない場合, このリリースでは秘密鍵を暗号化する. Potentially-incompatible changes ================================ 潜在的に非互換な変更 This release includes a number of changes that may affect existing configurations: このリリースは既存の設定に影響するかもしれない変更をいくつか含んでいる. * ssh-keygen(1): when acting as a CA and signing certificates with an RSA key, default to using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys will therefore be incompatible with OpenSSH versions prior to 7.2 unless the default is overridden (using "ssh-keygen -t ssh-rsa -s ..."). ssh-keygen(1): CA として振舞い RSA 鍵で証明書に署名する場合, rsa-sha2-512 署名アルゴリズムをデフォルトで利用する. RSA 鍵で署名された証明書は, デフォルトを上書きしないと ("ssh-keygen -t ssh-rsa -s ..." を用いる) 7.2 より前の OpenSSH のバージョンを非互換となる. Changes since OpenSSH 8.0 ========================= OpenSSH 8.0 からの変更 This release is focused on bug-fixing. このリリースはバグ修正に焦点を当てている. New Features ------------ 新機能 * ssh(1): Allow %n to be expanded in ProxyCommand strings ssh(1): ProxyCommand 文字列中の展開に %n を許可する. * ssh(1), sshd(8): Allow prepending a list of algorithms to the default set by starting the list with the '^' character, E.g. "HostKeyAlgorithms ^ssh-ed25519" ssh(1), sshd(8): '^' 文字を用いてアルゴリスムのリストを始めることで アルゴリズムのデフォルトの集合の前にアルゴリズムのリストを追加できる. 例えば "HostKeyAlgorithms ^ssh-ed25519" * ssh-keygen(1): add an experimental lightweight signature and verification ability. Signatures may be made using regular ssh keys held on disk or stored in a ssh-agent and verified against an authorized_keys-like list of allowed keys. Signatures embed a namespace that prevents confusion and attacks between different usage domains (e.g. files vs email). ssh-keygen(1): 実験的な軽量な署名と検証の能力を追加する. 署名はディスクか ssh-agent に格納された通常の ssh 鍵を用いて 作成され, 検証は authorized_keys のような許可された鍵のリストに対して 行なわれる. 署名は, 衝突や異なる利用ドメイン(例えば ファイルとEメール) の間の攻撃を防ぐ名前空間を埋め込む. * ssh-keygen(1): print key comment when extracting public key from a private key. bz#3052 ssh-keygen(1): 秘密鍵から公開鍵を抽出する際に鍵のコメントを表示する. bz#3052 * ssh-keygen(1): accept the verbose flag when searching for host keys in known hosts (i.e. "ssh-keygen -vF host") to print the matching host's random-art signature too. bz#3003 ssh-keygen(1)): known hosts 中のホスト鍵の検索時に verbose フラグを 受け入れる (例えば "ssh-keygen -vF host""]) このとき ホストのランダムアートな署名も表示する. bz#3003 * All: support PKCS8 as an optional format for storage of private keys to disk. The OpenSSH native key format remains the default, but PKCS8 is a superior format to PEM if interoperability with non-OpenSSH software is required, as it may use a less insecure key derivation function than PEM's. すべて: 秘密鍵をディスクに保存するオプションの形式として PKCS8 をサポートする. OpenSSH のネイティブな鍵形式はデフォルトのままだが, PKCS8 は 非OpenSSH ソフトウェアとの相互互換性が要求される場合 PEM よりもすぐれた形式だ. たとえ PEM よりも より安全でない鍵導出関数 が利用されていても. Bugfixes -------- バグ修正 * ssh(1): if a PKCS#11 token returns no keys then try to login and refetch them. Based on patch from Jakub Jelen; bz#2430 ssh(1): PKCS#11 トークンが鍵を返さない場合, ログインを試み 鍵をリフレッシュする. Jakub Jelen のパッチを基とする. bz#2430 * ssh(1): produce a useful error message if the user's shell is set incorrectly during "match exec" processing. bz#2791 ssh(1): ユーザのシェルが "match exec" 処理中に不正に設定されたら わかりやすいエラーメッセージを生成する. * sftp(1): allow the maximum uint32 value for the argument passed to -b which allows better error messages from later validation. bz#3050 sftp(1): それ以降の検証からよりよいエラーメッセージを出すために -b で渡される引数に uint32 の最大値を許可する. bz#3050 * ssh(1): avoid pledge sandbox violations in some combinations of remote forwarding, connection multiplexing and ControlMaster. ssh(1): リモート転送と接続の多重化と ControlMaster の組合せによる サンドボックスの侵入を回避する. * ssh-keyscan(1): include SHA2-variant RSA key algorithms in KEX proposal; allows ssh-keyscan to harvest keys from servers that disable old SHA1 ssh-rsa. bz#3029 ssh-keyscan(1): KEX の提案に SHA2に由来する RSA 鍵アルゴリズムを含む. ssh-keyscan が 古い SHA1 ssh-rsa を無効にしたサーバから 鍵を収集することを許可する. * sftp(1): print explicit "not modified" message if a file was requested for resumed download but was considered already complete. bz#2978 sftp(1): ファイルが中断されたダウンロードを要求され, すでに完了していると 思われる場合, 明確な "not modified" メッセージを を表示する. bz#2978 * sftp(1): fix a typo and make move right to the closest end of a word just like moves left to the closest beginning of a word. sftp(1): typo を修正する. また が 単語の最短の 先頭まで左に移動するように, で単語の最短の終了 まで右に移動するようにする. * sshd(8): cap the number of permitopen/permitlisten directives allowed to appear on a single authorized_keys line. sshd(8): 単一の authorized_keys 行に現れることを許す permitopen/permitlisten 設定項目の数に上限を設ける. * All: fix a number of memory leaks (one-off or on exit paths). すべて: (一度限りや終了のパス上の) 多数のメモリーリークを修正する. * Regression tests: a number of fixes and improvements, including fixes to the interop tests, adding the ability to run most tests on builds that disable OpenSSL support, better support for running tests under Valgrind and a number of bug-fixes. 回帰テスト: 多数の修正と改善. 相互互換性のテストの修正や OpenSSL サポートが無効な場合のビルドのより大くのテストの追加, Valgrind 下での テストの実行のよりよいサポートとたくさんのバグ修正. * ssh(1), sshd(8): check for convtime() refusing to accept times that resolve to LONG_MAX Reported by Kirk Wolf bz2977 ssh(1), sshd(8): LONG_MAX に解決される時間を拒否するよう convtme() のためのチェックを行なう. Kirk Wolf による報告 bz2977 * ssh(1): slightly more instructive error message when the user specifies multiple -J options on the command-line. bz3015 ssh(1): ユーザがコマンドラインで複数の -J オプションを指定した場合に よりわかりやすいエラーメッセージを表示する. * ssh-agent(1): process agent requests for RSA certificate private keys using correct signature algorithm when requested. bz3016 ssh-agent(1): 要求時に正しい署名アルゴリズムを用いる RSA 証明書秘密鍵に対する要求を処理する. bz3016 * sftp(1): check for user@host when parsing sftp target. This allows user@[1.2.3.4] to work without a path. bz#2999 sftp(1): sftp 対象のパース時に user@host をチェックする. これにより パスなしで user@[1.2.3.4] を許可する. bz#2999 * sshd(8): enlarge format buffer size for certificate serial number so the log message can record any 64-bit integer without truncation. bz#3012 sshd(8): 証明書のシリアル番号のバッファサイズを増大し, 打ち切りなしで任意の 64ビット整数をログメッセージに記録 できるようになる. bz#3012 * sshd(8): for PermitOpen violations add the remote host and port to be able to more easily ascertain the source of the request. Add the same logging for PermitListen violations which where not previously logged at all. sshd(8): PermitOpen の違反で, リクエストのソースをより簡単に確認 できるように リモートホストとポートを追加する. また, それまでまったくログされていない PermitListen による違反が, 同様に記録される. * scp(1), sftp(1): use the correct POSIX format style for left justification for the transfer progress meter. bz#3002 scp(1), sftp(1): 転送プログレムメーターの左詰めに 正しい POSIX 形式のスタイルを利用する. bz#3002 * sshd(8) when examining a configuration using sshd -T, assume any attribute not provided by -C does not match, which allows it to work when sshd_config contains a Match directive with or without -C. bz#2858 sshd(8): sshd -T を用いて設定の検査をする場合, -C によって提供されない どんな属性とも一致しないと仮定する. -C があってもなくても Match 設定項目を含む sshd_config で動作するようにする. bz#2858 * ssh(1), ssh-keygen(1): downgrade PKCS#11 "provider returned no slots" warning from log level error to debug. This is common when attempting to enumerate keys on smartcard readers with no cards plugged in. bz#3058 ssh(1), ssh-keygen(1): PKCS#11 の "provider returned no slots" 警告のログレベルを error から debug にダウングレードする. カードが挿入されていないスマートカードリーダー上での 鍵を列挙しようとする試行時の共通の振舞いだ. bz#3058 * ssh(1), ssh-keygen(1): do not unconditionally log in to PKCS#11 tokens. Avoids spurious PIN prompts for keys not selected for authentication in ssh(1) and when listing public keys available in a token using ssh-keygen(1). bz#3006 ssh(1), ssh-keygen(1): PKCS#11 トークンに絶対にログインしない. ssh(1) の認証で選択されていない鍵に対する偽のPINプロンプトや ssh-keygen(1) を用いたトークンで利用可能な公開鍵の列挙を防ぐ. bz#3006 Portability ----------- 移植性 * ssh(1): fix SIGWINCH delivery of Solaris for multiplexed sessions bz#3030 ssh(1): 多重化されたセッションでの SIGWINCH 転送を修正. bz#3030 * ssh(1), sshd(8): fix typo that prevented detection of Linux VRF ssh(1), sshd(8): Linux VRF での 予防された検出での typo を修正する * sshd(8): add no-op implementation of pam_putenv to avoid build breakage on platforms where the PAM implementation lacks this function (e.g. HP-UX). bz#3008 sshd(8): PAMの実装が pam_putenv を欠いている (例えば HP-UX) プラットフォームでのビルドの失敗を回避するために pam_putenv の なにもしない実装を追加する. ba#3008 * sftp-server(8): fix Solaris privilege sandbox from preventing the legacy sftp rename operation from working (was refusing to allow hard links to files owned by other users). bz#3036 sftp-server(8): (ハードリンクを他のユーザが所有するファイルに対して拒否する) 働きから レガシーな sftp の rename 操作を防止する Solaris の特権サンドボックスを修正する. bz#3036 * All: add a proc_pidinfo()-based closefrom() for OS X to avoid the need to brute-force close all high-numbered file descriptors. bz#3049 すべて: proc_pidinfo() ベースの closefrom() を OS X に追加する. すべてのファイルデスクリプタをブルートフォースで閉める必要を 回避する. bz#3049 * sshd(8): in the Linux seccomp-bpf sandbox, allow mprotect(2) with PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened heap allocators. Github PR#142 sshd(8): Linux の seccomp-bpf サンドボックス中で, PROT_(READ|WRITE|NONE) のみを mprotect(2) に許す. このシステムコールは, いくかの強化された ヒープアロケーターで用いられている. Github PR#142 * sshd(8): in the Linux seccomp-bpf sandbox, allow the s390-specific ioctl for ECC hardware support. sshd(8): Linux の seccomp-bpf サンドボックス中で, ECC ハードウェア サポートのために s390 特有の ioctl を許可する. * All: use "doc" man page format if the mandoc(1) tool is present on the system. Previously configure would not select the "doc" man page format if mandoc was present but nroff was not. All: mandoc(1) ツールがシステムにある場合 "doc" man ページ形式を 利用する. 以前の設定では, mandoc が存在し nroff が存在しない場合に "doc" man ページ形式を選択していなかった. * sshd(8): don't install duplicate STREAMS modules on Solaris; check if STREAMS modules are already installed on a pty before installing since when compiling with XPG>=4 they will likely be installed already. Prevents hangs and duplicate lines on the terminal. bz#2945 and bz#2998, sshd(8): ソラリスで重複した STREAMS モジュールをインストールしない. XPG>=4 でコンパイルする場合, STREAMS モジュールがインストール されている可能性が高いのでインストール前に pty 上に STREAMS モジュールが既にインストールされているか検査する. ターミナル上でのハングや重複行を防ぐ. bz#2945 と bz#2998