構築済みの Rails 2.x 系アプリに脆弱性パッチを適用する
Rails 2系すべてのブランチに脆弱性、Ruby 1.9ユーザはアップグレード注意
http://journal.mycom.co.jp/news/2009/09/07/048/index.html
先日のこの脆弱性のパッチを適用しました。
Windows だと以下の方法でパッチをあてる事ができます。
まずは Git をインストール。
今回は Windows なので msysgit を使用しました。
msysgit - Project Hosting on Google Code
http://code.google.com/p/msysgit/
次に以下の URL からパッチをダウンロードし、RAILS_ROOT の一つ上のディレクトリに保存します。
使用している Rails のバージョンに一致するものをダウンロードして下さい。
Riding Rails: XSS Vulnerability in Ruby on Rails
http://weblog.rubyonrails.org/2009/9/4/xss-vulnerability-in-ruby-on-rails
Riding Rails: Timing Weakness in Ruby on Rails
http://weblog.rubyonrails.org/2009/9/4/timing-weakness-in-ruby-on-rails
C:. ├─example_app ├─2-2-CVE-2009-3009.patch # 「XSS Vulnerability in Ruby on Rails」のパッチ └─2-2-timing-weakness.patch # 「Timing Weakness in Ruby on Rails」のパッチ
保存したら #{RAILS_ROOT}/vender/rails へ移動し、git apply でパッチを適用します。
>cd .\example_app\vendor\rails >git apply ..\..\..\2-2-CVE-2009-3009.patch >git apply ..\..\..\2-2-timing-weakness.patch ..\..\..\2-2-timing-weakness.patch:28: trailing whitespace. warning: 1 line adds whitespace errors.
2-2-timing-weakness.patch の方で warning が出ているのは、28 行目が空行だから、という事のようです(?)。
Git はまだ余り触った事がないので戸惑いましたが、取りあえずこれでパッチは適用できた模様。
後は動作確認ですね。