[ruby][脆弱性] RubyのBigDecimal の DoS 脆弱性への対応方法

SUG( http://user.openskip.org/ )に記事を書いたけど、外にも書いておこうかと思ったので転載。


先日、Ruby脆弱性が公開されましたね。
http://www.ruby-lang.org/ja/news/2009/06/10/dos-vulnerability-in-bigdecimal/

Railsでも発生するとのことなので、SKIPを利用している方も対応しておくことをお勧めします。

対応方法は2つあります。

  • Rubyのバージョンアップ(正攻法)
  • lib/initializersにモンキーパッチを置く(一時対応)
Rubyのバージョンアップ

http://www.ruby-lang.org/ja/news/2009/06/10/dos-vulnerability-in-bigdecimal/
公式ページのアナウンスを参考に指定されたバージョンのRubyにアップデートしましょう。

lib/initializersにモンキーパッチを置く

http://weblog.rubyonrails.org/2009/6/10/dos-vulnerability-in-ruby
このサイトを参考にSKIPのconfig/initializersのディレクトリに
http://github.com/NZKoz/bigdecimal-segfault-fix/blob/0aaf499f7b3df630da2e5780512975751d3473fd/lib/bigdecimal-segfault-fix.rb
のファイルを配置して再起動しましょう。

みなさんご注意ください。