2008-08-30 CVE-2008-2938 www Tomcat UTF-8の冗長表現を使用したDirectory Traversal問題 ディレクトリトラバーサル攻撃とは 相対パスを利用し管理者の意図しないディレクトリへのアクセスを行う攻撃 想定される被害としてはWebサーバ上の公開されていないファイルへのアクセスによる情報漏洩など 脆弱性の所以 TomcatにおけるUTF処理、シンボリックリンク処理の欠陥が原因 ピリオドの冗長なUTF-8表現を使うことで発現する問題 脆弱性が確認された対象バージョン Apache Software Foundation 6.0〜6.0.16 Apache Software Foundation 5.5〜5.5.26 Apache Software Foundation 4.1〜4.1.32 対策案 現在Tomcat 6.0のみ修正パッチがリリース この脆弱性はTomcatの設定に以下の2つがある場合に影響を受ける 1. GETリクエスト送信時のエンコーディングにUTF-8を使用している場合(URIEncoding="UTF-8") 2. シンボリックリンクを有効にしている(allowLinking=true) server.xml、context.xmlの設定を確認し、適切な値に変更することが暫定的な対応 修正バージョンがリリースされた際には速やかなアップデートが必要 所感 Tomcat5ではデフォルトで「allowLinkg=false」なので問題ない? contenxtの設定という点で考えると、アプリの /META-INF/context.xmlの記述も効いてしまうためインフラだけでの対応は難しい。 類似問題例 似たような問題としては、過去にあったMS00-057(MS IISでのUTF-8セキュリティ問題)が有名。 参考情報 Directory traversal vulnerability in Apache Tomcat 〜 http://cve.mitre.org/ レポート http://rocketeer.dip.jp/secProg/Tomcat001.pdf http://www.nttdata-sec.co.jp/column/report20080813.pdf