各位
本研究所で管理している公開サーバでは対応済みです。
しかしながら私用で利用しているケースもあるかもしれませんので、改めてお伝えします。
発見された脆弱性について
glibcというLinux OS(Android やファイルサーバー、ルータ等広範囲に及ぶ)の根幹といってもいいライブラリ上での脆弱性です。
2048バイトを超える UDP / TCPレスポンスによって誘発されるバッファオーバーフロー型のようです。
詳細は
- CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow(Google Online Security Blog)
にて詳しく説明されています。そこでは、RedHatの研究者が脆弱性を見つけ、GoogleとRedHatが共同で調査した結果、脆弱性をつくコード開発にも成功した模様。
影響範囲
CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow(Google Online Security Blog)によれば、
- glibc 2.9以降のライブラリを利用しているすべてのソフトウェア
影響をうける対象はコピー機やルータ、ファイルサーバーにAndroid OSといった日常的に利用しているものにも関係します。それらは最新版のファームウェアやOSへのアップデートするようチェックするしかありません。
DNSサーバーやSSHを始めとしてどこまで影響があるかは数えきれないのではないでしょうか。
glibcのバージョンチェック
Linux
/lib/libc.so.6 を実行
/lib64/libc.so.6 も実行して調べよう
一行目に、
- GNU C Library stable release version 2.◯, by Roland McGrath et al.
とバージョンが出てきます。
libc.so.6が /libにも /lib64にも見たらない場合には、
- rpm -qa | grep libc.so
などによって調べてみてください(yumやrpm管理している場合)。
MacOSX
/usr/lib/libc.dylib を使っていてバージョンを調べる方法はすぐには見つかりません。
ただMacOSXで出来ることは、OSのアップデートをこまめに確認することのみです。
対処
- まず最初にシステムのフルバックアップをして下さい(glibcは広範囲に影響を及ぼすライブラリのため)
- glibc 2.9以降を使っている場合には、パッチを当てましょう。
- パッチを当てた後はサーバーの再起動をしましょう。
各種Linuxディストリビューションの場合には、rpmパッケージなどでパッチが提供されているものもあります。確認してみましょう。
RedHat Enterprise Linuxを利用している場合
影響を受けるのは、バージョン 6以降です。
バージョン5については、影響をうけません(glibc 2.5系がベースのため)
ログインし、uname -a にてお使いのバージョンをチェックしてみてください。
Linux ホスト名 カーネル名 …..
のカーネル名に el6が入っていれば Enterprise Linux 6をお使いです。
- sudo yum update glibc
で 「glibc 2.12-1.166.el6_7.7」へアップデートしましょう。
ただし、glibcは多くのソフトウェア(SSH, Apache, BIND等)で利用しています。
これをバージョンアップすることで思わぬ影響が出てくるかもしれません。
従ってシステムのフルバックアップをしてから実施し、実施後は関連するシステムの動作チェックをすることをお勧めします。
どのソフトは、glibc(libc.so.6)を使っているの?
- ldd 実行ファイル
で調べてみてください。
ldd /usr/sbin/httpd
とApacheならば
libc.so.6 => /lib64/libc.so.6 (0x◯◯◯◯)
のように使っていることがわかります。
2016年2月17日 情報処理室長・木谷