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にコピーするだけでいい。同ファイルが自動的に読み込まれるようになる。