ページの本文へ

Hitachi Global

HIRT-PUB11005:日立製品におけるApache HTTPdサーバのRangeヘッダ処理に起因した脆弱性(CVE-2011-3192)への対応について

更新日:2011年10月3日

1. 概要


Apache HTTPdサーバ2.x系に、Rangeヘッダ処理に関するサービス不能攻撃を許してしまう脆弱性(CVE-2011-3192)が存在します。Rangeヘッダは、ファイルの分割ダウンロードや、ダウンロード中断・再開などで利用するヘッダで、ダウンロードを範囲指定します。脆弱性は、このRangeヘッダに、カンマ区切りで非常に多くの範囲指定が設定された場合に、Apache HTTPdサーバがサービス不能状態に陥ってしまうというものです。

 

Apache HTTPdサーバをベースとした日立製品も、この脆弱性の影響を受けます。

 

CVSSによる深刻度

 

基本値:7.8
  攻撃元区分:ネットワーク
  攻撃条件の複雑さ:低
  攻撃前の認証要否:不要
  機密性への影響(C):なし
  完全性への影響(I):なし
  可用性への影響(A):全面的

 

現状値:6.7 (2011年9月7日時点)
  攻撃される可能性:攻撃可能
  利用可能な対策のレベル:暫定対策
  脆弱性情報の信頼性:開発者が情報を確認済

2. 影響を受けるシステム


  • Apache HTTPdサーバ2.x 系のすべてのバージョン[*1]
  • 上記Apache HTTPdサーバをベースとした日立製品

 

*1)
2011年08月31日、1.3系に影響がないことが判明し、影響を受けるバージョンは2.x系のみに変更となりました(図1)。
脆弱性(CVE-2011-3192)の対応経緯 図1:脆弱性(CVE-2011-3192)の対応経緯

3. 想定される影響


不正なHTTP要求を受信したHTTPdサーバプロセスが、サービス不能状態に陥る可能性があります。結果として、サーバ全体がサービス不能状態に陥る可能性があります。

4. 対策


Rangeヘッダ処理に起因した脆弱性を修正したバージョン/セキュリティ更新プログラムの適用、あるいは、[5. 回避策]を適用してください。

 

4.1 Apache HTTPdサーバ2.x 系

Fixed in Apache httpd 2.2.20
http://httpd.apache.org/security/vulnerabilities_22.html#2.2.20

 

4.2 脆弱性の影響を受ける弊社製品

+ Hitachi Web Server
+ Hitachi Web Serverを同梱あるいはコンポーネントとして使用する製品
+ Cosminexusを同梱あるいはコンポーネントとして使用する製品
Hitachi Web ServerにおけるRangeヘッダによるDoS脆弱性

 

+ Hitachi IT Operations製品
Hitachi IT Operations製品におけるRangeヘッダによるDoS脆弱性

 

+ JP1製品
JP1製品におけるRangeヘッダによるDoS脆弱性

 

+ Hitachi Command Suite製品
Hitachi Command Suite製品におけるRangeヘッダによるDoS脆弱性

 

4.3 脆弱性の影響を受けない弊社製品

+ AlaxalA製品
  * AX6000S/AX3800S/AX3600S/AX2400Sシリーズ
  * AX7800S/AX7800R/AX7700R/AX5400S/AX2000R/AX2500S/AX1200S/AX620Rシリーズ

5. 回避策


Apache HTTPdサーバでの回避策について解説します。個々の製品の回避策については、[4. 対策]を参照してください。

 

Apache HTTPD Security ADVISORY (UPDATE 3 - FINAL)
Range header DoS vulnerability Apache HTTPD prior to 2.2.20.
http://httpd.apache.org/security/CVE-2011-3192.txt

 

5.1 Rangeヘッダを許容するが、制限を加える。

HTTPdサーバ設定ファイルhttpd.confに、Rangeヘッダを許容するが、記述できる項目数に上限を設ける設定(下記設定例では上限値=5件)を追加します。運用上、回避策による影響が一番少なくなります。

 

Apache 2.2系

 

----- httpd.conf -----
# setenvif_module (SetEnvIf)を使用して、Rangeヘッダの項目数が
# 5件以下かどうかを判定する。
# 5件よりも大きい場合には、headers_module (RequestHeader)を使って、
# Rangeヘッダを無視する。
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range

# Request-Rangeヘッダは、古いブラウザ(MSIE3, Netscape 2 or 3)で
# 使われていた。Request-Rangeヘッダは無視する。
RequestHeader unset Request-Range

# 制限を越えたアクセスのログ(制限超過ログ)を取得する。
CustomLog logs/range.log common env=bad-range

 

Apache 2.0系

 

----- httpd.conf -----
# rewrite_module (RewriteCond)を使用して、Rangeヘッダの項目数が
# 5件以下かどうかを判定。
# 5件よりも大きい場合には、rewrite_module (RewriteRule)を使って、
# エラー(403 Forbidden)を返す。
RewriteEngine on
RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$) [NC]
RewriteRule .* - [F]

# Request-Rangeヘッダは、古いブラウザ(MSIE3, Netscape 2 or 3)で
# 使われていた。Request-Rangeヘッダは無視する。
RequestHeader unset Request-Range

 

5.2 Rangeヘッダを許容しない。

HTTPdサーバ設定ファイルhttpd.confに、Rangeヘッダを許容しない設定を追加します。ただし、ブラウザでのダウンロード中断・再開の機能が利用できなくなります(図2)。

 

Apache 2.2/2.0 系

 

----- httpd.conf -----
# headers_module (RequestHeader)を使って、RangeとRequest-Range
# ヘッダを無視する。
RequestHeader unset Range
RequestHeader unset Request-Range

図2:Firefoxにおけるダウンロード中断・再開の例 図2:Firefoxにおけるダウンロード中断・再開の例

6. 関連情報


6.1 脆弱性識別

CVE-2011-3192
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192

JVNVU#405811
http://jvn.jp/cert/JVNVU405811/index.html

JVNDB-2011-002172
http://jvndb.jvn.jp/ja/contents/2011/JVNDB-2011-002172.html

 

6.2 注意喚起

JPCERT/CC
Apache HTTP Server のサービス運用妨害の脆弱性に関する注意喚起
https://www.jpcert.or.jp/at/2011/at110023.txt

IPA
ウェブサーバ「Apache HTTP Server」の脆弱性(CVE-2011-3192)について
http://www.ipa.go.jp/security/ciadr/vul/20110831-apache.html

cNotes: Current Status Notes
http://jvnrss.ise.chuo-u.ac.jp/csn/index.cgi?p=Apache+HTTPD+Security+ADVISORY+%28UPDATE+3+-+FINAL%29

7. 更新履歴


2011年10月03日

  • 「脆弱性の影響を受ける弊社製品」を更新(Hitachi IT Operations製品、JP1製品、Hitachi Command Suite製品追記)しました。

2011年09月30日

  • 対策に「脆弱性の影響を受けない弊社製品」を追加しました。リンクを追加ならびに更新しました。

2011年09月08日

  • CVSSによる深刻度:現状値、関連情報:脆弱性識別を追記しました。

2011年09月07日

  • このページを新規作成および公開しました。

担当:寺田、大西/HIRT