英NISCC(National Infrastructure Security Co-ordination Center)などは9月15日,Webサーバー「Apache」のバージョン2.0.xに見つかったセキュリティ・ホールを公表した。細工を施したリクエストを送信されると,Apacheをクラッシュさせられたり,任意のプログラムを実行させられたりする恐れがある。対策はパッチの適用やアップデート。セキュリティ・ホールを修正したApache 2.0.51が公開されている。なお,Apache 1.3.xは影響を受けない。

 NISCCなどが公開したセキュリティ・ホールは次の2種類。

(1)IPv6形式アドレスをチェックしないセキュリティ・ホール
(2)設定ファイル内の環境変数の長さをチェックしないセキュリティ・ホール

 (1)は,Apache Software Foundationが発見したセキュリティ・ホール。このセキュリティ・ホールは,Apacheの「apr-util」ライブラリが原因。apr-utilライブラリに含まれる関数「apr_uri_parse」は,IPv6形式のURLをきちんとチェックしない。このため,IPv6形式アドレスを含む細工が施されたリクエスト(Request-URIやHost headerなど)を送信されると,apr_uri_parseでバッファ・オーバーフローが発生する。

 その結果,Apacheのプロセス(httpdの子プロセス)をクラッシュさせられる可能性がある。BSDプラットフォームの場合には,任意のプログラムを実行させられる危険もあるという。

 (2)を発見したのは,Swedish IT Incident Centre(SITIC)。Apacheで使われている「ap_resolve_env()」関数が,「.htaccess」や「httpd.conf」といった設定ファイル中の環境変数(${ENVVAR})を適切に取り扱わないことが原因。

 具体的には,バッファを適切に確保しないため,環境変数を展開する際にバッファ・オーバーフローが発生する可能性がある。その結果,特定ユーザーの権限を昇格させてしまう(例えば,本来はアクセスできないディレクトリ/ファイルにアクセスできるようになる)。

 ただし,バッファ・オーバーフローを発生させるには,細工を施した設定ファイルをあらかじめApacheサーバーに仕込んでおく必要がある。つまり,Apacheサーバーへのアクセス権限が必要。(1)とは異なり,リモートからこのセキュリティ・ホールを悪用することはできない。

 対策は,最新版のApache 2.0.51にアップグレードすること。最新版では,上記2つのセキュリティ・ホールに加え,以下のセキュリティ・ホールも修正されている。

(3)mod_ssl におけるsegmentation fault
(4)mod_ssl における無限ループ
(5)mod_dav_fs におけるsegmentation fault

 (3)は,ApacheのSSLモジュール「mod_ssl」に関するセキュリティ・ホール。他のSSLサーバーのリバース・プロキシーとしてApacheサーバーを使っている場合のみ影響を受ける。悪用されると,リモートからApacheサーバー(httpdプロセス)を停止させられる(segmentation faultを発生させられる)。

 (4)も,mod_sslに関するセキュリティ・ホール。あるタイミングでSSLコネクションを破棄されると,mod_sslで無限ループの処理が発生して,CPU資源を消費してしまう。

 (5)は「mod_dav_fs」モジュールに関するセキュリティ・ホール。(3)同様,リモートから,httpdプロセスを停止させられる。

 Apache Software Foundationでは,(1)から(5)を修正する個別のパッチも公開している。また,OSベンダーなどは,それぞれのプラットフォーム用のアップデート版を提供することが予想されるので,それらをインストールしてもよい。

 Apache Software Foundationから登録者に送られたメールには,「We consider this release(2.0.51)to be the best version of Apache available and encourage users of all prior versions to upgrade.」と書かれている。Apache 2.0.xの管理者は,ぜひアップデートしたい。

◎参考資料
Vulnerability Issues with the Apache Web Server(NISCC)
Apache HTTP Server 2.0.51 Released(Apache Software Foundation)
Downloading the Apache HTTP Server(Apache Software Foundation)
Index of /dist/.../apply_to_2.0.50(Apache Software Foundation)
[ANNOUNCE] Apache HTTP Server 2.0.51 Released(Apache Software Foundation)
Apache に関する複数の脆弱性(JP Vendor Status Notes)
Apache 2.0.51 のリリース(IPA)
403518/NISCC/APACHEに関する情報(富士通)
Apache apr-util Library and Environment Variable Expansion Vulnerabilities(Secunia)

(勝村 幸博=IT Pro)