ほとんどのLinuxアプリケーションに使われているGNU Cライブラリの「glibc」に深刻な脆弱性が見つかり、米GoogleとRed Hatの研究者が開発したパッチが2月16日に公開された。

公開された修正パッチ

脆弱性は2008年5月にリリースされたglibc 2.9以降のバージョンに存在する。Googleによると、glibcで「getaddrinfo()」ライブラリ機能が使われた際に、スタックベースのバッファオーバーフローの脆弱性が誘発されることが判明。この機能を使っているソフトウェアは、攻撃者が制御するドメイン名やDNSサーバ、あるいは中間者攻撃を通じて脆弱性を悪用される恐れがあるという。

Googleの研究者は、先にこの問題を発見していたRed Hatの研究者と共同で調査を進め、脆弱性を突くコードの開発に成功したとしている。パッチの公開に合わせて、攻撃には利用できないコンセプト実証コードも公開した。これを使えば自分のシステムに脆弱性が存在するかどうかを確認し、回避策についても検証できるという。

米セキュリティ機関のSANS Internet Storm Centerはこの脆弱性について、getaddrinfo機能は大半のUNIXベースシステムでIPアドレスの解決に使われており、影響は広範に及ぶと指摘する。Webページに画像を仕込む手口や、メールを送信してスパムフィルタで処理させる手口など、さまざまな手口でDNSルックアップを誘発される恐れがあると解説している。

Googleによれば、脆弱性は2048バイトを超すサイズのUDPまたはTCPレスポンスによって誘発される。このため、すぐにはパッチを適用できない場合の対策として、DNSMasqのようなプログラムを使ってDNSレゾルバが受け入れるレスポンスのサイズを制限する方法などを挙げている。

編集部より……変更履歴

初出時にSANS Internet Storm Centerの解説をもとに「影響はAndroidからホームルータに至るまで広範に及ぶ」と記載しましたが、SANSの解説が訂正されたためこの部分を修正しました。なお、訂正後の解説では「Androidはデフォルトではglibcを使用していないが、glibcを使用するアプリによって影響を受ける可能性がある」とされています。

Copyright © ITmedia, Inc. All Rights Reserved.