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 は次のようにも述べています:
詳しくは Qualys Security Advisory をご確認ください。"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)) が有効に設定されている状態である必要があります。したがって現実的な影響はほぼ無いものと考えられますが、問題自体は興味深いものです。
悪意あるサーバあるいは第三者に乗っ取られたサーバに SSH ログインすることで、SSH 秘密鍵を含む機密情報を取得されたり、設定によっては任意のコードを実行されたりする可能性があります。
アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
本脆弱性の対策版として、OpenSSH 7.1p2 がリリースされています。
ワークアラウンドを実施する
次のワークアラウンドを実施することで、本脆弱性の影響を回避することが可能です。
- UseRoaming 機能を無効にする
ベンダ | ステータス | ステータス 最終更新日 |
ベンダの告知ページ |
---|---|---|---|
ミラクル・リナックス株式会社 | 該当製品あり | 2016/01/15 |
ベンダ | リンク |
OpenBSD project | OpenSSH 7.1p2 release note |
-
CERT/CC Vulnerability Note VU#456088
OpenSSH Client contains a client information leak vulnerability and buffer overflow -
Qualys Security Advisory
Roaming through the OpenSSH client: CVE-2016-0777 and CVE-2016-0778 -
OpenBSD Journal
OpenSSH: client bugs CVE-2016-0777 and CVE-2016-0778
攻撃元区分(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) |
攻撃元区分(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 |