Ruby学習メモ

2008-07-04

[][][][]Ruby1.8.6-p230 + Rails2.0.x で Segmentation faultしちゃう件についてのメモ 13:02

きれいにまとまってるエントリを発見。

Rubyの脆弱性について


任意のコードが実行される脆弱性についてというRubyのセキュリティパッチ適用バージョン Ruby1.8.6-p230で、Railsを動かしてみると、Bug #211 "wrong argument type" "expected Proc"という具合に、 Segmentation faultしちゃう。

この件については、Railsコミュニティ上でも議論*1されていて、どうやらp189 -> p190 の間でおかしくなった様子*2です。

これについては、Railsコミュニティ上で独自にp230へのパッチを作った人*3がいて、それを適用する事でさしあたりRailsは動く様です。

パッチを適用している人もいました。*4

この問題について、Rubyコミッタの間ではすでに修正が行われ*5、パッチの挙動が検証されて*6、コミットもされたようです。*7

しかしまだ、チケット*8Openのステータスのままで、公式にもパッチ適用バージョン(Ruby1.8.6-p23x)は公開されていません。

このため、Ruby1.8.6でRails2.0.xを動かしたい場合は、p189を使うとよいようです。*9

RubyMLやら、Railsのコミュニティやら、GoogleBlogを検索したり、Railsのコードやエラーメッセージを追ったりとここまで辿り着くのにえらい手間がかかってしまいました。。。

iR3iR32008/07/08 09:23情報ありがとうございました。Rails-1.2.3でもSegmentation faultしてはまっていましたが助かりました。

2008-07-03

[][][]Ruby1.8.7-p22で ActiveSupport2.0.2 の、 String#camelizeをすると、 Ruby1.8.7だから、 String#gsub() #=> Enumerable::Enumerator になっちゃうので、エラー。 12:13