公開日:2016/01/15 最終更新日:2016/01/19

JVNVU#95595627
OpenSSH のクライアントに複数の脆弱性

概要

OpenSSH のクライアントには、秘密鍵を含む情報が漏えいする脆弱性が存在します。
また、特定の設定条件のもとでバッファオーバーフローが発生する脆弱性が存在します。

影響を受けるシステム

  • OpenSSH 5.4 から 7.1p1 まで

詳細情報

情報漏えい (CWE-200) - CVE-2016-0777
OpenSSH 7.1p2 のリリースノートには次のように記載されています:

"The OpenSSH client code between 5.4 and 7.1 contains experimental support for resuming SSH-connections (roaming).

The matching server code has never been shipped, but the client code was enabled by default and could be tricked by a malicious server into leaking client memory to the server, including private client user keys.

The authentication of the server host key prevents exploitation by a man-in-the-middle, so this information leak is restricted to connections to malicious or compromised servers."

OpenSSH 5.4 から 7.1 までのクライアントでは、試験的に SSH 接続の再開機能 (ローミング) をサポートしています。

サーバ側の機能は実装されていませんが、クライアント側の機能はデフォルトで有効になっており、悪意あるサーバとの通信によって、クライアントの秘密鍵を含むメモリの内容をサーバに送信させられる可能性があります。

クライアント側では、サーバとの通信を開始する前にサーバのホストキーによる認証を行うことで中間者攻撃を防止しているため、実際に攻撃が行われるのは、悪意あるサーバあるいは第三者に乗っ取られたサーバとの通信を行う場合に限られます。


ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2016-0778
Qualys Security Advisory によると、packet_write_wait() および ssh_packet_write_wait() には、再接続成功後の特定の状況でバッファオーバーフローが発生する脆弱性が存在します。

Qualys は次のようにも述べています:

"The buffer overflow, on the other hand, is present in the default configuration of the OpenSSH client but its exploitation requires two non-default options: a ProxyCommand, and either ForwardAgent (-A) or ForwardX11 (-X). This buffer overflow is therefore unlikely to have any real-world impact, but provides a particularly interesting case study."

一方、バッファオーバーフローは OpenSSH クライアントのデフォルト設定の状態で存在します。ただし攻撃を行うためには、デフォルトでは無効になっているオプション (ProxyCommand および ForwardAgent (-A)、または ProxyCommand および ForwardX11 (-X)) が有効に設定されている状態である必要があります。したがって現実的な影響はほぼ無いものと考えられますが、問題自体は興味深いものです。

詳しくは Qualys Security Advisory をご確認ください。

想定される影響

悪意あるサーバあるいは第三者に乗っ取られたサーバに SSH ログインすることで、SSH 秘密鍵を含む機密情報を取得されたり、設定によっては任意のコードを実行されたりする可能性があります。

対策方法

アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
本脆弱性の対策版として、OpenSSH 7.1p2 がリリースされています。

ワークアラウンドを実施する
次のワークアラウンドを実施することで、本脆弱性の影響を回避することが可能です。

  • UseRoaming 機能を無効にする

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
ミラクル・リナックス株式会社 該当製品あり 2016/01/15
ベンダ リンク
OpenBSD project OpenSSH 7.1p2 release note

参考情報

  1. CERT/CC Vulnerability Note VU#456088
    OpenSSH Client contains a client information leak vulnerability and buffer overflow
  2. Qualys Security Advisory
    Roaming through the OpenSSH client: CVE-2016-0777 and CVE-2016-0778
  3. OpenBSD Journal
    OpenSSH: client bugs CVE-2016-0777 and CVE-2016-0778

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
基本値: 5.3
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:M/Au:N/C:P/I:N/A:N
基本値: 4.3
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

分析結果のコメント

この CVSS は CVE-2016-0777 を 評価したものです。

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2016-0777
CVE-2016-0778
JVN iPedia