akishin999の日記

調べた事などを書いて行きます。

構築済みの 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 はまだ余り触った事がないので戸惑いましたが、取りあえずこれでパッチは適用できた模様。
後は動作確認ですね。