Secure Shell(SSH)の認証プロトコルをサポートする、知名度の高いライブラリ「libssh」に脆弱性が存在していることが明らかになり、米国時間10月16日にパッチがリリースされた。この脆弱性は、何千台という規模の企業サーバを危険にさらすものだ。
攻撃者はこの脆弱性を悪用することで、認証手順を迂回(うかい)し、パスワードを入力せずとも、SSH接続が有効化されているサーバにアクセスできるようになる。
具体的な攻撃手順は、libsshの認証手順を開始させるために通常用いられる「SSH2_MSG_USERAUTH_REQUEST」というメッセージの代わりに、「SSH2_MSG_USERAUTH_SUCCESS」というメッセージをSSHサーバに対して送信するというものだ。
SSH2_MSG_USERAUTH_SUCCESSメッセージを受け取ったlibsshは、コーディングミスにより、これを「認証手順が完了した」と解釈し、攻撃者に対してローカルサーバへのアクセスを許可する。
脆弱性識別番号「CVE-2018-10933」が割り当てられたこの脆弱性は、2014年1月にリリースされた「libssh 0.6.0」から存在していた。libsshの開発チームは16日、同脆弱性に対処した「libssh 0.8.4」と「libssh 0.7.6」をリリースしている。
このバグを発見したのはNCC GroupのPeter Winter-Smith氏だ。
Cybereasonでセキュリティリサーチの責任者を務めるAmit Serper氏が、インターネット接続機器を対象とする「Shodan」検索エンジンを用いてこのライブラリを使用しているサーバの数を概算したところ、少なくとも3000台のサーバに影響が及んでいることが明らかになったという。
Errrr.... Uh-oh. pic.twitter.com/E4L6JInc0j
— Amit Serper (@0xAmit) 2018年10月16日
この脆弱性は、コーディングの点から見ると稚拙なものだが、現実世界のコンピューティングへの影響という観点からはそれほど重大なものではない。
その理由は、ほとんどのサーバやIoTデバイス、PCは、SSHプロトコルのサポートを実装する際にlibsshではなく「OpenSSH」を用いているためだ。
GitHubはlibsshを使用している大規模サイトの1つだが、同サイトのセキュリティチームは、今回の問題による影響はないといち早く表明している。GitHubは法人顧客向けの代替SSHログイン手段を提供するためにlibsshを使用している。もしもGitHubのlibsshベースのログイン手段に脆弱性があったのであれば、世界最大規模の複数の企業が所有するソースコードや知的財産が悪人の手によってアクセスされていたことだろう。
GitHubはTwitterで「われわれはlibsshのカスタマイズ版を使用している。われわれがlibsshライブラリを使用する目的である、公開鍵に基づく認証は、libsshサーバのSSH2_MSG_USERAUTH_SUCCESSに依存していない。万全を期すという点からパッチの適用を済ませているが、(GitHub Enterprise)はCVE-2018-10933の影響を受けてはいなかった」とツイートしている。
現段階で、CVE-2018-10933のエクスプロイトが公開されている様子はない。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。