8日、Rubyに複数の脆弱性が発見されたことが報告されている。セーフレベルにおいて複数の脆弱性(untrace_varがセーフレベル4で実行可能、Syslog操作がセーフレベル4で実行可能、$PROGRAM_NAMEがセーフレベル4で変更可能、安全ではないメソッドがセーフレベル1から3までで呼び出される可能性)が発見されたほか、WEBrickの処理不具合でリクエスト処理が実質的に終了しなくなるDoS脆弱性、dlオブジェクトチェック不足による危険な関数の実行を許してしまう脆弱性、偽装DNSクエリに対する返答受け入れを許可してしまう脆弱性が発見された。
脆弱性はそれぞれ次のバージョンに存在する。
1.8系
- 1.8.5以前のすべてのバージョン
- 1.8.6-p286以前のすべてのバージョン
- 1.8.7-p71以前のすべてのバージョン
1.9系
- r18423以前のすべてのリビジョン
Ruby 1.8系はそれぞれ修正が施された最新パッチ版へアップグレード、1.9系は最新ブランチへのアップデートで対応できる。ただしアップグレードには注意が必要だ。8日に発表されたMultiple vulnerabilities in Rubyで公開された修正済みファイルは実は対策が不十分で、dlオブジェクトチェック不足に関連した脆弱性が修正されていないことが明らかになっている。
すでに最初の報告をうけてRubyを更新してある場合には、Ruby 1.8.7-p72 and 1.8.6-p287 releasedを参考にして成果物をダウンロードしてもう一度更新を実施した方がいい。チェックサム値が表示されているので確認するようにしたい。またベンダが提供している修正後パッケージも再び更新される可能性があるため注意しておきたい。