もうあちこちで大騒ぎになっていてみんな知ってると思うけど。HTTP Requestに非常に長い(コンマ区切りの複数のヘッダ) Rangeヘッダを送られるとapacheのプロセスがメモリ食いまくるっていう。
追記
2011/9/17 現在でapache 2.2.21 が出ているので、可能であればバージョンアップしときましょう。
## 追記終わり
ということで結構厄介かも。すぐパッチが出るとのことだけど、急いで対応する場合は↑のURLのとおりhttpd.confを設定する。
apache 2.2の場合はmod_headersを使って、Rangeヘッダに","が5個以上あれば、RequestHeaderからRangeヘッダを消す。つまり普通のRequestとして扱うようにして対応。
apache 1.3, 2.0 の場合はmod_rewriteを使って、Rangeヘッダに","が5個以上あれば403 Forbiddenで返す。
apache 2.2 (mod_headers)
# Drop the Range header when more than 5 ranges. # CVE-2011-3192 SetEnvIf Range (?:,.*?){5,5} bad-range=1 RequestHeader unset Range env=bad-range # We always drop Request-Range; as this is a legacy # dating back to MSIE3 and Netscape 2 and 3. RequestHeader unset Request-Range
apache 1.3, 2.0 (mod_rewrite)
# Reject request when more than 5 ranges in the Range: header. # CVE-2011-3192 # RewriteEngine on RewriteCond %{HTTP:range} !(bytes=[^,]+(,[^,]+){0,4}$|^$) # RewriteCond %{HTTP:request-range} !(bytes=[^,]+(?:,[^,]+){0,4}$|^$) RewriteRule .* - [F] # We always drop Request-Range; as this is a legacy # dating back to MSIE3 and Netscape 2 and 3. RequestHeader unset Request-Range