OpenSSHのユーザーはすぐにシステムにパッチを当てるべきだ。新たに報告されたバグは、OpenSSH versions 5.4 から 7.1 に影響を及ぼし、これにはOpenBSD版と移植版の両方が含まれる。
今回新たに明らかになったバグは、SSHコネクションを再開しやすくするローミング機能の実装ミスによるものだ。サーバー側のコードはこの機能をサポートしていないが、クライアント側のコードには、悪意のあるホストに悪用される脆弱性があった。この欠陥により、悪意のあるサーバーがクライアントの秘密鍵を含むメモリの内容にアクセスする恐れがある。
パッチのアナウンスで、Damien Miller氏はこう書いている。
ライアント側では、サーバとの通信を開始する前にサーバのホストキーによる認証を行うことで中間者攻撃を防止しているため、実際に攻撃が行われるのは、悪意あるサーバあるいは第三者に乗っ取られたサーバとの通信を行う場合に限られます。
問題のある機能はデフォルトで有効になっているため、パッチを当てていないクライアントには脆弱性があると書かれているのは重要だ。さらに悪いことに、通常 “UseRoaming” オプションは設定ファイルに存在しないため、SSH設定ファイルをスキャンしただけでは簡単にはわからないかもしれない。
これに対するパッチが公開され、最新の移植版OpenSSH 7.1p2リリースされている。システムにパッチを当てられないユーザーは、SSH設定ファイルに以下のいずれかの変更をすることで、欠陥のあるコードの実行を防ぐことができる。
- “
UseRoaming no
”をグローバルなSSH設定ファイル(通常/etc/ssh/ssh_config
)に追加する - “
UseRoaming no
”をユーザーのSSH設定ファイル(通常~/.ssh/config
)に追加する –oUseRoaming=no
をSSHのコマンドライン実行パラメータに入れる
このバグはQualys Security Advisoryチームによる報告のおかげで発見された。7.1p2リリースには他のバグ修正も含まれており、できるだけ早く対応することを推奨する。詳しくは、CVE-2016-0777 と CVE-2016-0778 を参照。QualysはSeclistsにセキュリティ勧告を公開している。
コミュニティコメント