ghost

昨日1月28日、glibcの重大な脆弱性が話題になっています。

この脆弱性は、GHOSTと命名されています。
GHOSTの内容、glibcのバージョン確認方法、対応方法についてまとめてみました。

glibcの脆弱性GHOSTとは?

Linuxシステムで広く採用されている基本ライブラリGNU C Library (glibc)の__nss_hostname_digits_dots()関数にバッファオーバーフローの脆弱性が存在します。
この脆弱性を利用することにより、悪意のある第三者にリモートから任意のコードを実行される可能性があります。

__nss_hostname_digits_dots関数は、glibcのgethostbyname()とgethostbyname2()という関数を実行するときに呼び出されます。

この脆弱性は、2013年の時点で発見され、glibc-2.17とglibc-2.18の間で修正されたのですが、当時は重大なセキュリティリスクと認識されていなかったため
長期サポートの対象のディストリビューションでは修正されていないそうです。

昨年2014年はOpenSSLの脆弱性 Heartbleed やbashの脆弱性 ShellShock という広範囲に影響を与える危険性の高い脆弱性が発見され、盛り上がりましたが、
2015年もGHOSTで盛り上がりそうですね。

アイコンまでできちゃっています。 ⇛ GHOSTのアイコン
GHOSTといえば、英語で「おばけ」ですね。

この脆弱性は2000年にリリースされたGNU C Library glibc-2.2より存在していて、
10年以上発見されなかったそうなので、まさにおばけのようですね。

影響範囲

glibcの2.2〜2.17までのバージョンに影響があります。

Debian 7 (wheezy)、Red Hat Enterprise Linux 6、7、CentOS 6、7、Ubuntu 12.04のディストリビューションに影響があるとされています

glibcのバージョン確認方法

# yum list installed | grep glibc
glibc.i686                            2.5-81                           installed
glibc.x86_64                          2.5-81                           installed
glibc-common.x86_64                   2.5-81                           installed
glibc-devel.x86_64                    2.5-81                           installed
glibc-headers.x86_64                  2.5-81                           installed


でバージョンが2.2から2.17であれば、対応が必要です。

上の例では、バージョンば2.5-81なので対応が必要ですね。

対応方法

一部でglibcのアップデートでタイムゾーンが変わるという情報があったので、タイムゾーンの設定をバックアップ、タイムゾーンの確認をしておきます。

# cp -p /etc/localtime /etc/localtime.bk
#date
2015年  1月 29日 木曜日 11:48:47 JST


タイムゾーンはJSTです。

glibcのアップデート

# yum update glibc

バージョンの確認

# yum list installed | grep glibc
glibc.i686                            2.5-123.el5_11.1                 installed
glibc.x86_64                          2.5-123.el5_11.1                 installed
glibc-common.x86_64                   2.5-123.el5_11.1                 installed
glibc-devel.x86_64                    2.5-123.el5_11.1                 installed
glibc-headers.x86_64                  2.5-123.el5_11.1                 installed

バージョンが上がっていますね。
GHOSTが修正されたバージョンはディストリビューションによって違いますので、この記事の一番下の参考情報のところを参考にしてください。

上の例ではCentOSで、2.5-123が最新になります。

タイムゾーンの確認

# date
2015年  1月 29日 木曜日 11:54:51 JST


私の環境ではタイムゾーンの変更はありませんでした。

リブート
(glibcのアップデート後にシステムの再起動が推奨されています)

reboot

参考情報

各ディストリビューションのリリース情報を書いておきます。
修正されたglibcのバージョン情報など参考にしてください。

Ubuntu: https://launchpad.net/ubuntu/+source/eglibc
RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090.html
CentOS: http://lists.centos.org/pipermail/centos-announce/2015-January/020906.html
Debian: https://security-tracker.debian.org/tracker/CVE-2015-0235
Amazon Linux: http://aws.amazon.com/jp/security/security-bulletins/cve-2015-0235-advisory--ghost-/