WEBrickの非公開ファイルにアクセスされる脆弱性について
Posted by Shugo Maeda on 3 Mar 2008
Rubyに標準で添付されているWEBrickライブラリにおいて、 このライブラリに含まれるローカルファイルシステム上のファイル
(およびディレクトリ)を公開する機能を使用した場合に、公開を意 図していないリソースにアクセスが可能となる問題が発見されました。
特に、Windowsでこの機能を利用した場合には、ディレクトリトラ バーサルにより、プロセスの権限で読み取り可能な任意のファイル に対するアクセスが可能となります。
影響
この脆弱性は以下の状況で発生します。
WEBrick::HTTPServer.newの引数として、:DocumentRootを指定してファイルを公開する場合WEBrick::HTTPServlet::FileHandlerサーブレットを 利用してファイルを公開する場合
この脆弱性は以下の環境で発生します。
- パスの区切り文字としてバックスラッシュを使用できるシス テム(Windowsなど)
- ファイルにアクセスする際にパス名の大文字と小文字を区別 しないファイルシステム(WindowsのNTFSやMacOSXのHFSなど) を利用しているシステム
この脆弱性により以下のような影響があります。
-
以下のようにURLにエンコードされたバックスラッシュ(\)を 含めることにより、公開対象のディレクトリ以外のファイル にアクセスされる恐れがあります。 これはWindowsのようにパスの区切り文字としてバックスラッ シュを使用するシステムに限ります。
例:
http://[server]:[port]/..%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c/boot.ini -
FileHandlerの設定項目の:NondisclosureNameで指定されたパターン(デフォルト値は[".ht*", "*~"]) にマッチするファイルにアクセスされる恐れがあります。こ れは大文字・小文字を区別しないファイルシステムを利用し ている場合に限ります。
脆弱性の存在するバージョン
- 1.8系
-
- 1.8.4以前の全てのバージョン
- 1.8.5-p114以前の全てのバージョン
- 1.8.6-p113以前の全てのバージョン
- 1.9系
-
- 1.9.0-1以前の全てのバージョン
各バージョンでの対応方法
各バージョンでの対応方法を以下に記載します。
- 1.8系
- 1.8.5-p115または1.8.6-p114に更新してください。
- <URL:https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p115.tar.gz> (md5sum: 20ca6cc87eb077296806412feaac0356)
- <URL:https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz> (md5sum: 500a9f11613d6c8ab6dcf12bec1b3ed3)
- 1.9系
- 以下のパッチを適用してください。
- <URL:https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-1-webrick-vulnerability-fix.diff> (md5sum: b7b58aed40fa1609a67f53cfd3a13257)
Rubyのパッケージを配布している各ベンダから、この脆弱性を修正 した版のパッケージが提供されている場合もあります。詳細につい ては各ベンダにお問い合わせください。
クレジット
この脆弱性はDigital Security Research Group (http://dsec.ru/)により Ruby Security Teamに報告されました。
最近のニュース
Ruby 4.0.2 リリース
Ruby 4.0.2 がリリースされました。
Posted by k0kubun on 16 Mar 2026
Ruby 3.4.9 リリース
Ruby 3.4.9 がリリースされました。
Posted by nagachika on 11 Mar 2026
関西Ruby会議09の参加登録が開始されました
日本Rubyの会が後援する、地域Ruby会議(RegionalRubyKaigi)の1つである関西Ruby会議09の参加登録が開始されました。
Posted by Yudai Takada(@ydah) on 3 Mar 2026
Ruby 4.0.0 リリース
Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。
Posted by naruse on 25 Dec 2025