OpenSSH <9.6の複数の脆弱性

medium Nessus プラグイン ID 187201

概要

リモートホストで実行されている SSH サーバーは、複数の脆弱性の影響を受けます。

説明

リモートホストにインストールされている OpenSSH のバージョンは、9.6 より前です。したがって、release-9.6 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- ssh(1)、sshd(8): Fabian Bumer 氏、Marcus Brinkmann 氏および Jrg Schwenk 氏が発見した、いわゆる Terrapin 攻撃を阻止するためのプロトコル拡張を実装します。この攻撃により、MITM は、暗号化の開始前に余分なメッセージを送信し、暗号化の開始直後に同数の連続したメッセージを削除することで、早期に暗号化された SSH トランスポートプロトコルの整合性の制限付きの破壊に影響を与えることができます。ピア SSH クライアント/サーバーは、メッセージが削除されたことを検出できません。暗号的には新しいものですが、この攻撃は連続したメッセージの削除しか許さないため、セキュリティへの影響は幸いなことに非常に限定的です。プロトコルのこの段階でほとんどのメッセージを削除すると、ユーザー認証が進まなくなり、接続がスタックします。特定された最も深刻な影響は、認証が始まる前に送信される SSH2_MSG_EXT_INFO メッセージを MITM に削除させ、攻撃者が OpenSSH 9.5 で導入されたキーストロークのタイミング難読化機能のサブセットを無効化できることです。
セッションの機密性やセッションの整合性には、他に識別できる影響はありません。OpenSSH 9.6 は、このプロトコルの弱点に、新しい厳格な KEX プロトコル拡張で対処しています。この拡張は、クライアントとサーバーの両方がサポートする場合に自動的に有効になります。この拡張は、SSH 転送プロトコルに 2 つの変更を加えて、初期鍵交換の整合性を向上させます。第一に、鍵交換中に不必要または予期しないメッセージを受信した場合 (SSH2_MSG_DEBUG のような、以前は合法だったが厳密には必要でないメッセージも含む)、エンドポイントに接続を終了することを要求します。これにより、初期のプロトコルからほとんどの適応性が削除されます。第二に、各鍵交換の終了時に Message Authentication Code カウンターをリセットし、以前に挿入されたメッセージが鍵交換の完了後もシーケンス番号に永続的な変更を加えないようにします。Terrapin 攻撃の阻止には、このどちらかの変更で十分なはずです。これらの変更の詳細は、OpenSSH ソースディストリビューションの PROTOCOL ファイルにあります。(CVE-2023-48795)

- ssh-agent(1):宛先制約を指定しながら PKCS#11 でホストされた秘密鍵を追加すると、PKCS#11 トークンが複数の鍵を返した場合、最初の鍵にのみ制約が適用されます。通常の秘密鍵、FIDO トークン、制約のない鍵の使用は影響を受けません。(CVE-2023-51384)

- ssh(1): シェルのメタ文字を含む無効なユーザーまたはホスト名が ssh(1) に渡され、ProxyCommand、LocalCommand ディレクティブ、または match exec 述語が %u、%h、または同様の拡張トークンを介してユーザーまたはホスト名を参照した場合、攻撃者が ssh(1) に任意のユーザー/ホスト名を指定すると、ユーザー指定の ssh_config(5) ディレクティブにどのような引用符が含まれているかに応じて、コマンドインジェクションが実行される可能性があります。この状況は、ユーザー/ホスト名にシェル文字を含むサブモジュールがリポジトリに含まれる、git サブモジュールの場合に発生する可能性があります。Git は、信頼できないソースからのリポジトリをチェックアウトする際に、ユーザー名またはホスト名のシェルメタ文字を禁止しません。弊社は、特に上記の git の例のようなセキュリティ境界を越えて ssh(1) に渡される引数の有効性を確保することはユーザーの責任であると考えていますが、現在 OpenSSH 9.6 は、コマンドラインで指定されたユーザーおよびホスト名からほとんどのシェルメタ文字を禁止しています。ssh(1) がユーザー指定のコマンドに関連する可能性のあるシェルメタ文字を普遍的にフィルタリングすることは不可能であるため、この対策はすべての状況で有効であるとは限りません。ssh_config(5) を介して提供されたユーザー/ホスト名はこれらの制限の対象ではないため、ユーザーは自分の設定ファイルで何をしているかを知っているという仮定の下で、奇妙な名前を使用する設定が引き続き使用される可能性があります。(CVE-2023-51385)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

OpenSSHバージョン9.6以降にアップグレードしてください。

参考資料

https://www.openssh.com/txt/release-9.6

プラグインの詳細

深刻度: Medium

ID: 187201

ファイル名: openssh_96.nasl

バージョン: 1.5

タイプ: remote

ファミリー: Misc.

公開日: 2023/12/22

更新日: 2024/3/27

サポートされているセンサー: Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

基本値: 6.4

現状値: 5

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:N

CVSS スコアのソース: CVE-2023-51385

CVSS v3

リスクファクター: Medium

基本値: 6.5

現状値: 5.9

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C

脆弱性情報

CPE: cpe:/a:openbsd:openssh

必要な KB アイテム: installed_sw/OpenSSH

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2023/12/18

脆弱性公開日: 2023/12/18

参照情報

CVE: CVE-2023-48795, CVE-2023-51384, CVE-2023-51385

IAVA: 2023-A-0701