Ruby on Rails

問題を引き起こせるXMLファイルの例 - Rubyサイトより抜粋

The ruby-security teamは23日、Ruby on Railsに脆弱性の問題があることを発表した。Railsで使われているXMLパースライブラリREXMLにDoS脆弱性があり、XMLエンティティエクスプロージョン攻撃を実施されると同ライブラリを使ったRailsアプリケーションをダウンさせることが可能になる。

影響を受けるRubyのバージョンは次のとおり。

  • 1.9系すべてのバージョン
  • 1.8.7-p72およびそれ以前のすべてのバージョン
  • 1.8.6-p287およびそれ以前のすべてのバージョン

Rubyでこの脆弱性に対処するには、rexml-expansion-fix.rbファイルをダウンロードしてデプロイし、REXMLを使うより前の段階で次のように同ファイルを読み込むようにすればいい。

REXMLを使う前に対処を読み込む

この脆弱性に対する修正は将来リリースされるRubyやまたはパッチセットで対応されるとみられる。Railsアプリケーションを使っている場合は、rexml-expansion-fix.rbファイルをRAILS_ROOT/lib/などのロードパスにデプロイしてからconfig/environment.rbファイルに「require "rexml-expansion-fix"」と記入することで対処できる。Rails 2.1以降のバージョンを使っている場合にはrexml-expansion-fix.rbファイルをRAILS_ROOT/config/initializersにコピーするだけでいい。同ファイルが自動的に読み込まれるようになる。