RubyのWEBrickに脆弱性、非公開ファイルへのアクセスが可能に - ITmedia エンタープライズ
RubyのWEBrickにディレクトリトラバーサルの脆弱性が存在して、バックスラッシュ=パス区切り文字のOSの場合RubyのWEBrickを使うとローカルファイルにもアクセスできるそうです。
Windowsのようにパスの区切り文字としてバックスラッシュを使用できるシステム、もしくは、ファイルアクセス時にパス名の大文字と小文字を区別しないファイルシステム(NTFSやHFSなど)といった環境下で、WEBrick::HTTPServer.newの引数として、:DocumentRootを指定、または、WEBrick::HTTPServlet::FileHandlerサーブレットを利用してファイルを公開する場合、公開を意図していないローカルファイルシステム上のリソースにアクセスが可能となるという。
攻撃者は、URLにエンコードされたバックスラッシュを含めることで、公開対象のディレクトリ以外のファイルにアクセスを試みたり、FileHandlerの設定項目の:NondisclosureNameで指定されたパターン(デフォルト値は[".ht*", "*~"])にマッチするファイルにアクセスを試みることが予想される。
Windowsは要注意とのこと。
特に、WindowsでWEBrickを利用した場合は、ディレクトリトラバーサルにより、プロセスの権限で読み取り可能な任意のファイルに対するアクセスが可能になるという。