glibcのgethostbyname系関数に脆弱性、「GHOST」と呼ばれる 34
ストーリー by hylom
これはでかい 部門より
これはでかい 部門より
あるAnonymous Coward 曰く、
クラウドセキュリティ企業Qualysの研究者が、GNU Cライブラリ(glibc)に深刻な脆弱性があることを発見した(JVNVU#99234709、CVE-2015-0235、ZDNet Japan)。
この脆弱性は「GHOST」と呼ばれており、これを利用することでリモートから任意のコードが実行される可能性があるという。
脆弱性が存在するのはglibc 2.2からglibc 2.17までで、piyologによるとglibcの__nss_hostname_digits_dots() にヒープバッファオーバーフローの脆弱性があり、この関数はgethostbyname()とgethostbyname2()で使われているという(Red Hat Bugzilla)。これら関数に細工されたURL文字列を与えることで、バッファオーバーフローを引き起こせる可能性があるようだ。
Qualysによれば、この問題は2013年5月21日にリリースされたglibc 2.17とglibc 2.18の間のバグフィックスで修正されているという。ところが、このバグフィックスはセキュリティ上の問題であるとは分類されていなかったため、多くのLinuxディストリビューションには適用されていないという。
未だに gethostbyname なんか使っているんじゃねぇよ (スコア:2)
Qualys のレポート [qualys.com]
- The gethostbyname*() functions are obsolete; with the advent of IPv6, recent applications use getaddrinfo() instead.
IPv6 に対応しようとしたら、必然的に getaddrinfo() を使うんで、意外に問題が起きないケースは少なく無さそう。
getaddrinfo() ならセーフかというと、厳密には getaddrinfo の中で gethostbyname2_r() を呼び出していて、でも、問題を引き起こすのには条件がキツイからセーフ、といった具合。ZDNet の記事 [zdnet.com]の煽り具合ほどでは無さそうな感じ。
Re:未だに gethostbyname なんか使っているんじゃねぇよ (スコア:2)
LinuxのgethostbynameはIPv4オンリーではなくIPv6もOKであるように拡張されてるような。
man gethostbynameより:
The gethostbyname() function returns a structure of type hostent for
the given host name. Here name is either a hostname, or an IPv4
address in standard dot notation (as for inet_addr(3)), or an IPv6
address in colon (and possibly dot) notation. (See RFC 1884 for the
description of IPv6 addresses.) If name is an IPv4 or IPv6 address, no
:
Re: (スコア:0)
> 問題が起きないケースは少なく無さそう
意味が判りません
Re: (スコア:0)
懐かしい…
残業代ゼロでソース書いた思い出があるわ
影響を回避できそうなソフト (スコア:2)
QualysのSecurity Teamの投稿 [seclists.org]によれば、以下のソフトは影響を受けなさそうとのこと。
> apache, cups, dovecot, gnupg, isc-dhcp, lighttpd, mariadb/mysql,
> nfs-utils, nginx, nodejs, openldap, openssh, postfix, proftpd,
> pure-ftpd, rsyslog, samba, sendmail, sysklogd, syslog-ng, tcp_wrappers,
> vsftpd, xinetd.
なのでとりあえず自分は様子見。
Re: (スコア:0)
検証用 Redhat 5台
検証用 CentOS 15台
本番用 Redhat 3台
本番用 CentOS 50台前後
yumで適用して今のところ問題ありません。
glibcですが1月7日前後にも更新されていますので
yum-cronやyum-updatedでキャッシュしている場合
古いのを当てて満足しないように・・・大きなお世話か。
Re: (スコア:0)
ここにのっていないもので大物は、BINDくらいですかね?
Re:影響を回避できそうなソフト (スコア:1)
BINDは最新バージョンでもgethostbyname多用してますね
qmailとvpopmailもみてみましたが、こちらは大丈夫な様子
Re:影響を回避できそうなソフト (スコア:1)
>BINDは最新バージョンでもgethostbyname多用してますね
少なくとも named では使わねーから気にすんな。
ちゃんとソースを調べればわかるけど、DNS で名前解決する named が /etc/hosts やら nsswitch の影響を受ける gethosbyname を使うわけがない。
Re: (スコア:0)
>BINDは最新バージョンでもgethostbyname多用
>namedでは使われない
無知で、すまんが、これが矛盾していないのが理解できない。
リゾルバとして利用している限りは問題ないってこと?
Re:影響を回避できそうなソフト (スコア:3, 参考になる)
BIND のソースには named とは無関係なものもたくさん含まれてる、ってこと。
ソースを grep すればわかるけど、使われてるのは lwres と idn の2ヶ所。
前者は named とは完全に独立したプログラム/ライブラリで named とは一切関与しない。
後者も国際化ドメインを扱う単体ツールの部分が使ってるだけで、named へのパッチ部分では使われてない。
Re: (スコア:0)
参考になりました。
ありがとうございます。
そのむかしドレッパーたんがゆってました (スコア:1)
「長い文字列を黙って切り詰めることは許されない。文字列の長さを把握して領域を確保しろ。これが正しい文字列処理だ。」
できてないじゃん。
Re:そのむかしドレッパーたんがゆってました (スコア:1)
彼は「お前に給料をもらった覚えはない」と言いながらgethostbyname()を修正したのかしら
解決策 (スコア:0)
Linuxを使わなければOk?
glibc は (スコア:1)
Linuxを使わなければOk?
SANSのダイアリー [sans.edu]によると
だそうだ。他に、静的に glibc がリンクされているプログラムも影響がある恐れ。あとは組み込み機器で glibc を採用していてネットワークを使うというかホスト名を扱うというか gethostbyname() を使うものも脆弱では。
Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers [openwall.com]によると
ねぇ。2000年11月にリリースされた版から脆弱、ですか。影響が広がりそう。
Re:解決策 (スコア:1)
東京都や大阪府、愛知県など [nhk.or.jp]「せやな」
Re: (スコア:0)
東京都や大阪府、愛知県など [nhk.or.jp]「せやな」
それがWindowsの問題とか思ってるのか
Re: (スコア:0)
Theo「 そう、OpenBSDならね」
Re: (スコア:0)
OpenBSDなら1年でサポート終了 [openbsd.org]だから
GHOSTがあっても「サポート対象外です」で終わり。
組み込み系は放置されそう (スコア:0)
組み込み系は放置されそうで怖いですな
Androidはlibcなのでセーフかな?
Re: (スコア:0)
組み込み系もそうだけれど、LinuxやBSD系をベースに使っているゲーム機も結構怪しい。
まあ、まともにセキュリティーメンテナンスされてもいないゲーム機のブラウザなんて、怖くて使えないけれどな。
さらに怖いのが、ネット対応のTVだけど、こんなもののブラウザなんて使っている人はいないか。
トラブルの源泉という想いしかない (スコア:0)
大抵はアプリ側が悪いのは分かってるんだけどさ。。
うちのglibcのバージョンいくつだっけ? (スコア:0)
脆弱性が存在するのはglibc 2.2からglibc 2.17までで
また勝ってしまった。敗北を知りたい。
Re: (スコア:0)
忘れてるだけだろ
Re: (スコア:0)
Re: (スコア:0)
うちのFedora 20(glibc-2.18-16.fc20.x86_64) もセーフだから、21もセーフだろうな。
Re: (スコア:0)
外向けのサーバー、既に5年はemerge --syncすらしてないけど生きてるますよ。
Re: (スコア:0)
相手にも選ぶ権利がありますよね
問題はgccだけど (スコア:0)
オプトピだけどgcc自体、競合相手に益しないためにコアの部分は公開しないとRMSがインタビューで答えたのを思いだした。
# それだけ。10年くらい前に読んだ記事を見付けれない。相当古いバージョンの話かな?この発言聞いて一時、人間(freesoftware運動)不信になった時期がありました。
Re: (スコア:0)
(ベータ)リリース時に公開予定とか
Re: (スコア:0)
意味がわかりません。
Re: (スコア:0)
ゴースト、ゴースト、ゴーゴー、ゴースト♪