glibc の脆弱性「GHOST」(CVE-2015-0235)

2021-06-22

概要

ZDNet Japanよりの情報、

米国のセキュリティベンダー「Qualys」の研究者らは1月27日(米国時間)、
「oss-security – Qualys Security Advisory CVE-2015-0235 – GHOST: glibc gethostbyname buffer overflow」において、Linuxで広く採用されている基本ライブラリGNU C Library (glibc)の__nss_hostname_digits_dots()関数にバッファオーバーフローの脆弱性が存在することを明らかにした。
この脆弱性を悪用されると遠隔から任意のコードを実行される危険性があり、その際に認証情報などを必要しないため危険性が高いと認識されている。

この脆弱性には「GHOST」という名称が付けられている。バッファオーバーフローが発見された関数は__nss_hostname_digits_dots()だが、ユーザランドのソフトウェアからはgethostbyname()などの関数を呼び出すことでこの関数が実行される。
このため、gethostbynameをGetHOSTbynameともじって「GHOST」と命名されている

との情報。
Linuxできわめて重大で危険な脆弱性「GHOST」を確認

RedHat Enterprise Linux の脆弱性情報

GHOST: glibc 脆弱性 (CVE-2015-0235)
CVE-2015-0235
Critical: glibc security update

IPA(情報処理推進機構)の脆弱性情報

glibc の脆弱性対策について(CVE-2015-0235)

脆弱関連情報

Linuxの各OSの対応が必要がバージョンと、脆弱性を修正したglibcのバージョンは以下のようになります

ディストリ 対象バージョン 修正バージョン
Redhat RHEL 5
RHEL 6
RHEL 7
RHEL 5 (glibc-2.5-123.el5_11.1)
RHEL 6 (glibc-2.12-1.149.el6_6.5)
RHEL 7 (glibc-2.17-55.el7_0.5)
debian squeeze
squeeze(lts)
wheezy
squeeze (eglibc 2.11.3-4+deb6u4)
wheezy (eglibc 2.13-38+deb7u7)
CentOS CentOS 5
CentOS 6
CentOS 7
CentOS 5 (glibc-2.5-123.el5_11.1)
CentOS 6 (glibc-2.12-1.149.el6_6.5)
CentOS 7 (glibc-2.17-55.el7_0.5)
Ubuntu Ubuntu 10.04 LTS
Ubuntu 12.04 LTS
Ubuntu 10.04 LTS (eglibc 2.11.1-0ubuntu7.20)
Ubuntu 12.04 (eglibc 2.15-0ubuntu10.10)
AWS/Amazon Linux ALAS-2015-473 Amazon Linux (glibc-static-2.17-55.93.amzn1)
SUSE Linux SUSE Linux Enterprise 11以前のバージョン SUSE Linux 11 SP3 (glibc-2.11.3-17.74.13)
SUSE Linux 11 SP2 LTSS (glibc-2.11.3-17.45.55.5)
SUSE Linux 11 SP1 LTSS (glibc-2.11.1-0.60.1)
SUSE Linux 10 SP4 LTSS (glibc-2.4-31.113.3)

RedHat Enterprise Linux と CentOSでの対策

yumコマンドで glibcをアップデートすればOKです
上記の表の、バージョンになっていればOKです

# yum clean all
# yum update
# rpm -qa glibc
glibc-2.12-1.149.el6_6.5.i686
glibc-2.12-1.149.el6_6.5.x86_64

Debian GNU/Linuxでの対策

apt-getコマンドで glibcをアップデートすればOKです

# apt-get clean
# apt-get update
# apt-get upgrade glibc

再起動は必要は?

共有ライブラリをアップデートして新しくなっても既に起動しているサービスは古いコードのまま実行されていますので、脆弱性の影響を受ける可能性のあるアプリケーションやサービスは全て再起動をしたほうが良さそうです。
また、多くのサービス・アプリケーションがgethostbyname系の関数を使用しているしているので、サーバーをリブートした方が良さそうです

再起動が出来ない場合は?

glibcをアップデートの適用後、サーバーの再起動できないケースもあるかと思います。その場合は以下のコマンドを実行して、glibc の古いバージョンを使用して実行しているすべてのプロセスを表示します

lsof +c0 -d DEL | awk 'NR==1 || /libc-/ {print $2,$1,$4,$NF}' | column -t

表示されているプロセスの結果リストから、使用しているサービスを特定して再起動します。

【補足】
glibcを使用しているサービスは以下のコマンドで確認できます。稼働中のサービスがあれば、glibcをアップデートの適用後サービスの再起動をすれば大丈夫かと思います

参考URL:GHOST: critical glibc update (CVE-2015-0235) in gethostbyname() calls

#  lsof | grep libc | awk '{print $1}' | sort | uniq
agetty
awk
bash
crond
dbus-daem
grep
httpd
in:imjour
lsof

Linux脆弱性

Posted by admin