Rubyの脆弱性について

なんか日本ではほとんど話題になってないみたいなんだけど、Ruby脆弱性が発見されてる。


しかし修正されたバージョンのRubyをインストールすると、一部のRailsアプリが動かなくなるらしい。
RubyFlowとか見てると、かなり混乱しているのがわかる。

Multiple Ruby security vulnerabilities announced: Info at the Riding Rails blog. *** Please note *** It appears as if Ruby 1.8.6-p230 may not compatible with Rails (check the comments in above link for details). Hold tight for more news.
Ruby に複数の脆弱性が発見されたことの告知: Riding Rails ブログでの 情報。*** 注意 *** Ruby 1.8.6-p230 では Rails動かない (詳細はリンク先のコメントを参照のこと)。続報をまて。

Multiple Ruby security vulnerabilities - RubyFlow

Ruby 1.8.6-p230/1.8.7 include fixes for the recently discovered security vulnerabilities, but they also break some apps. Phusion has backported the security patches to Ruby 1.8.6-p111, and made a Ruby Enterprise Edition release based on that. This version is compatible with all your apps.
Ruby 1.8.6-p230/1.8.7 は、最近発見されたセキュリティ脆弱性に対する修正を含んでいるが、これによって動作しないアプリもある。Phusionセキュリティパッチを 1.8.6-p111 にバックポートし、それをベースにした Ruby エンタープライズエディションをリリースした。このバージョンなら、どのアプリケーションでも互換性がある。

Ruby 1.8.6-p230/1.8.7 broke your app? Ruby Enterprise Edition to the rescue! - RubyFlow

In light of the recent vulnerabilities in Ruby, Zaypay has created a page with patched precompiled Ruby 1.8.6p114 packages for Debian unstable/lenny and a simple step-by-step guide on how to create your own packages. These packages allow you to run Ruby on Rails version 2.0.x and older without any problems.
Ruby における最近の脆弱性を考慮して、ZaypayDebian (unstable/lenny用)の Ruby 1.8.6p114 パッケージ(パッチ適用済み) と、自分でパッケージを作る手順の簡単なガイドを用意したページを作成した。これらのパッケージを使えば Ruby on Rails 2.0 およびそれ以前のバージョンが問題なく動作する。

Update debian packages - RubyFlow


さて、Rubyを実案件で使う場合には今回のケースのようなことが発生すると困るわけで、こういう混乱状態をみると、Javaはしっかりやってるよなという印象を持つ。
ここらへんが、有志のボランティアでやっているソフトと、お金をかけてビジネスとしてやっているソフトの違いかなと思う。

Rubyで今回のような件が起きた原因のひとつは、やっぱり仕様が明確になっていないことが原因じゃないかと思う。仕様が明確になっていない曖昧な部分で、今回のような互換性の問題が発生したんだと思っているんだけど、どうでしょう。
自分に出来ることとしたら、RubySpecを充実させるぐらいしか思いつかないので、まずはcgi.rbのspecファイルを書こうと思う。

#いつのまにかRubySpecのサイトができてた・・・