Apache2.2.2でCGIスクリプトのソースコードが見えてしまう脆弱性

Apache2.2.2でCGIスクリプトソースコードが見えてしまう脆弱性が見つかったようです。
ただし、環境はWindowsXP SP2&Apache2.2.2というかなり限定的というかマニアックなので実際の影響は少なそうです。


httpd.conf」内の”ScriptAlias”の設定で、下記のようにスクリプトの名前と、ディレクトリ名が同じ場合に”http://[target]/CGI-BIN/foo”とアクセスすることで起きるようです。Windowsが大文字と小文字を区別しないところから来る現象のようです。

# httpd.conf
ScriptAlias /cgi-bin/ "C:/Documents and Settings/webmaster/site/docroot/cgi-bin/"


対策としては、httpd.confの設定で下記のように”ScriptAlias”を”DocumentRoot”外に置くとよいそうです。

# httpd.conf
DocumentRoot "C:/Documents and Settings/webmaster/site/docroot"
ScriptAlias /cgi-bin/ "C:/Documents and Settings/webmaster/site/cgi-bin" 

もしくは、スクリプト名とディレクトリ名を変えましょうとのこと。

# httpd.conf
ScriptAlias /cgi-bin/ "C:/Documents and Settings/webmaster/site/docroot/sdy1x9y/"