クラウドセキュリティ企業Qualysの研究者が、Linux GNU Cライブラリ(glibc)に深刻なセキュリティホールである「GHOST」(CVE-2015-0235)を発見した。この脆弱性を利用すると、ハッカーはIDやパスワードを知らなくてもシステムをリモートから乗っ取ることができる。
Qualysはただちにこのセキュリティホールについて主なLinuxの配布元に警告を送り、多くの配布元がすでにパッチを公開している。
このセキュリティホールは、glibc-2.2(2000年11月10日にリリース)を使用してビルドされたすべてのLinuxシステムに存在する。Qualysによれば、このバグは実際には、2013年5月21日にリリースされた、glibc-2.17とglibc-2.18の間のバグフィックスで修正されている。
ところが、このバグフィックスはセキュリティ上の問題であると分類されていなかったため、多くの安定した長期サポート(LTS)版ディストリビューションには適用されていない。対象となるシステムには、「Debian 7(Wheezy)」、「Red Hat Enterpirse Linux(RHEL)」5、6、7、「CentOS」6、7、「Ubuntu」12.04が含まれる。RHELのパッチはすでにRed Hat Networkで公開されている。Debianはコアディストリビューションを修正中であり、Ubuntuは12.04および10.04のバグをすでに修正した。CentOSのパッチもリリース予定だと聞いている。
このセキュリティホールは、glibcのgethostbyname関数を悪用することで利用できる。この関数はネットワークで接続されているほぼすべてのLinuxシステムで、ほかのホストにアクセスするために/etc/hostsファイルやDNSを使用してドメイン名を解決する際に使用されている。
この脆弱性を悪用するには、攻撃者は無効なホスト名の引数を使用することで、DNSの解決を行うアプリケーションでバッファオーバーフローを引き起こしてやるだけでいい。これにより、DNSを実行しているユーザーのパーミッションで任意のコードをリモートから実行できる。つまり、GHOSTを利用すれば、攻撃者はリモートからシステムを乗っ取ることができるということだ。
読者には、利用しているLinuxシステムを今すぐ、今日中ではなく今すぐに、できるだけ早くアップデートすることをお勧めする。パッチ適用後は、システムを再起動すること。Linuxは滅多にリブートする必要はないが、gethostbynameは多くの重要なプロセスで使用されているため、今回の場合は再起動を行い、実行中のプログラムで確実に修正済みのコードを使用している状態を確保すべきだ。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。